courthive-components 4.1.0 → 4.1.1
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.
|
@@ -15276,8 +15276,8 @@ function OC(e) {
|
|
|
15276
15276
|
}
|
|
15277
15277
|
var kC = {
|
|
15278
15278
|
name: "courthive-components",
|
|
15279
|
-
packageManager: "pnpm@11.
|
|
15280
|
-
version: "4.1.
|
|
15279
|
+
packageManager: "pnpm@11.25.0",
|
|
15280
|
+
version: "4.1.1",
|
|
15281
15281
|
engines: { node: ">=22" },
|
|
15282
15282
|
description: "Components for competitions projects",
|
|
15283
15283
|
files: ["dist"],
|
|
@@ -15350,12 +15350,11 @@ var kC = {
|
|
|
15350
15350
|
"@types/d3": "^7.4.3",
|
|
15351
15351
|
"@types/leaflet": "^1.9.12",
|
|
15352
15352
|
"@types/vanillajs-datepicker": "^1.3.5",
|
|
15353
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
15354
|
-
"@typescript-eslint/parser": "8.
|
|
15355
|
-
"@vitest/
|
|
15356
|
-
"@vitest/
|
|
15357
|
-
|
|
15358
|
-
eslint: "10.8.1",
|
|
15353
|
+
"@typescript-eslint/eslint-plugin": "8.68.0",
|
|
15354
|
+
"@typescript-eslint/parser": "8.68.0",
|
|
15355
|
+
"@vitest/coverage-v8": "^5.0.0",
|
|
15356
|
+
"@vitest/ui": "^5.0.0",
|
|
15357
|
+
eslint: "10.9.1",
|
|
15359
15358
|
"eslint-plugin-sonarjs": "4.2.0",
|
|
15360
15359
|
"eslint-plugin-storybook": "^10.2.17",
|
|
15361
15360
|
"gh-pages": "6.3.0",
|
|
@@ -15363,17 +15362,17 @@ var kC = {
|
|
|
15363
15362
|
"happy-dom": "^20.8.3",
|
|
15364
15363
|
husky: "9.1.7",
|
|
15365
15364
|
leaflet: "1.9.4",
|
|
15366
|
-
"lint-staged": "17.
|
|
15365
|
+
"lint-staged": "17.4.1",
|
|
15367
15366
|
playwright: "^1.57.0",
|
|
15368
15367
|
prettier: "^3.8.1",
|
|
15369
15368
|
semver: "7.8.5",
|
|
15370
15369
|
storybook: "^10.2.17",
|
|
15371
15370
|
"tabulator-tables": "6.5.2",
|
|
15372
|
-
"tods-competition-factory": "6.37.
|
|
15371
|
+
"tods-competition-factory": "6.37.2",
|
|
15373
15372
|
typescript: "^6.0.2",
|
|
15374
15373
|
vite: "8.2.2",
|
|
15375
15374
|
"vite-plugin-dts": "^5.0.0",
|
|
15376
|
-
vitest: "^
|
|
15375
|
+
vitest: "^5.0.0"
|
|
15377
15376
|
},
|
|
15378
15377
|
dependencies: {
|
|
15379
15378
|
"@tiptap/core": "^3.22.2",
|
|
@@ -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&&Mm(t,r);return n&&e.push(n),e},[]);return Hp(e)?s[0]:s}Nm.defaultProps=gm,Nm.setDefaultProps=vm,Nm.currentInput=$p,Object.assign({},Kd,{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)}}),Nm.setDefaultProps({render:Om});var Pm=`#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(`.`),Fm=`notes-toolbar-recent-colors`,Im=8;function Lm(){try{return JSON.parse(localStorage.getItem(Fm)||`[]`)}catch{return[]}}function Rm(e){let t=Lm().filter(t=>t!==e);t.unshift(e),t.length>Im&&(t=t.slice(0,Im)),localStorage.setItem(Fm,JSON.stringify(t))}function zm(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(Wm(e)),t.appendChild(Gm(e)),t.appendChild(Km(e)),t.appendChild(Xm(e)),t.appendChild($m(e)),t.appendChild(eh(e)),t.appendChild(nh(e)),t}function Bm(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 Vm(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function Hm(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function Um(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 Wm(e){let t=Hm(),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 Gm(e){let t=Hm();return t.appendChild(Um(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(Um(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(Um(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(Um(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function Km(e){let t=Hm();return t.appendChild(qm(`color`,`A`,`Text color`,`#000000`,t=>{Rm(t),e.onColor?.(t)})),t.appendChild(qm(`background`,`A`,`Background color`,`#ffff00`,t=>{Rm(t),e.onBackground?.(t)})),t}function qm(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=Jm(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=Nm(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Jm(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 Pm)r.appendChild(Ym(n,n===e,t));n.appendChild(r);let i=Lm();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(Ym(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 Ym(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 Xm(e){let t=Hm();return t.appendChild(Um(`orderedList`,Zm(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(Um(`bulletList`,Zm(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 Zm(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var Qm={alignLeft:Zm(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Zm(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Zm(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Zm(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function $m(e){let t=Hm();return t.appendChild(Um(`alignLeft`,Qm.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(Um(`alignCenter`,Qm.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(Um(`alignRight`,Qm.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(Um(`alignJustify`,Qm.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function eh(e){let t=Hm();t.appendChild(Um(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(Um(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=Um(`link`,`⇗`,`Insert link`);th(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=Um(`video`,`▷`,`Insert video`);return th(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function th(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=Nm(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 nh(e){let t=Hm();return t.appendChild(Um(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function rh(e={}){let t=document.createElement(`div`);t.className=`notes-editor-content`;let l={toolbar:void 0,editorElement:t,editor:void 0,getHtml:()=>l.editor&&!l.editor.isEmpty?l.editor.getHTML():``,isEmpty:()=>!l.editor||l.editor.isEmpty,destroy:()=>{l.editor?.destroy(),l.editor=void 0}};l.toolbar=zm({onHeading:e=>{l.editor&&(e===!1?l.editor.chain().focus().setParagraph().run():l.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>l.editor?.chain().focus().toggleBold().run(),onItalic:()=>l.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>l.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>l.editor?.chain().focus().toggleStrike().run(),onColor:e=>l.editor?.chain().focus().setColor(e).run(),onBackground:e=>l.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>l.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>l.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>l.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>l.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>l.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>l.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>l.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>l.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let u=()=>{if(l.editor){Bm(l.toolbar,{bold:l.editor.isActive(`bold`),italic:l.editor.isActive(`italic`),underline:l.editor.isActive(`underline`),strike:l.editor.isActive(`strike`),orderedList:l.editor.isActive(`orderedList`),bulletList:l.editor.isActive(`bulletList`),blockquote:l.editor.isActive(`blockquote`),codeBlock:l.editor.isActive(`codeBlock`),alignLeft:l.editor.isActive({textAlign:`left`}),alignCenter:l.editor.isActive({textAlign:`center`}),alignRight:l.editor.isActive({textAlign:`right`}),alignJustify:l.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(l.editor.isActive(`heading`,{level:e})){Vm(l.toolbar,e);return}Vm(l.toolbar,!1)}};return requestAnimationFrame(()=>{l.editor=new r.Editor({element:t,extensions:[o.default,i.TextStyle,n.Color,a.default.configure({multicolor:!0}),s.default.configure({types:[`heading`,`paragraph`]}),c.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:u,onTransaction:u})}),l}function ih(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}=vn(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 ah(e){return typeof e==`function`}var oh;function sh(e){oh&&=(oh?.destroy(!0),void 0),e?.remove&&e.remove()}function ch(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;sh();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(oh=Nm(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{sh(l),ah(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?oh.setContent(`IMPLEMENT SUB MENU`):ah(e.onClick)?(sh(l),e.onClick()):ah(a)&&a&&(sh(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=ih(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),oh.show(),oh.setProps({interactive:!0})),oh}var J=`court-line`;function Y(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 lh(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 uh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}function dh(e){let t=lh(`0 0 500 470`,e),n=[Y(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:J}),Y(`circle`,{cx:`250`,cy:`470`,r:`60`,class:J}),Y(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:J}),Y(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:J}),Y(`circle`,{cx:`250`,cy:`190`,r:`60`,class:J}),Y(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:J}),Y(`circle`,{cx:`250`,cy:`52`,r:`12`,class:J}),Y(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:J})];for(let e of n)t.appendChild(e);return t}function fh(e){let t=lh(`0 0 500 440`,e),n=[Y(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:J}),Y(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:J}),Y(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:J}),Y(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:J}),Y(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:J}),Y(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:J}),Y(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:J}),Y(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:J}),Y(`circle`,{cx:`250`,cy:`340`,r:`9`,class:J}),Y(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:J}),Y(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:J}),Y(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:J}),Y(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:J}),Y(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:J}),Y(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:J}),Y(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:J})];for(let e of n)t.appendChild(e);return t}function ph(e){let t=lh(`0 0 850 2000`,e),n=[Y(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:J}),Y(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:J}),Y(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:J}),Y(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:J}),Y(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:J}),Y(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:J}),Y(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:J}),Y(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:J}),Y(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:J}),Y(`circle`,{cx:`270`,cy:`650`,r:`50`,class:J}),Y(`circle`,{cx:`580`,cy:`650`,r:`50`,class:J}),Y(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:J}),Y(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:J})];for(let e of n)t.appendChild(e);return t}function mh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}function hh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}function gh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}var _h=`COURT_SVG`,vh={tennis:uh,basketball:dh,baseball:fh,hockey:ph,pickleball:mh,badminton:hh,padel:gh},yh={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},bh={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function xh(e){if(e){for(let[t,n]of Object.entries(bh))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function Sh(e){let t=e?.competitionFormat?.sport;return t&&yh[t]?yh[t]:xh(e?.matchUpFormat)}function Ch(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 wh(e,t=``){let n=e?vh[e]:void 0;if(n)return Ch(n(t?`court--${e} ${t}`:`court--${e}`))}function Th(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 Eh(e){if(!e)return;let t=Th(e);return t.length?t:void 0}function Dh(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?Eh(n)??t.venueName:t.venueName}var Oh=/^(\d{4})-(\d{2})-(\d{2})/,kh=864e5;function Ah(e){if(!e)return null;let t=Oh.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 jh(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 Mh(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=jh(e,t),r=new Date(n.getTime()+kh),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 jh({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function Nh(e){if(!e)return null;let t=Ah(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 Ph(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function Fh(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function Ih(e,t){if(!e&&!t)return;let n=Nh(e),r=Nh(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(!(!i&&!a))return i&&a&&n.getTime()===r.getTime()?Fh(n):i&&a?n.getFullYear()===r.getFullYear()?`${Ph(n)} – ${Ph(r)}, ${r.getFullYear()}`:`${Fh(n)} – ${Fh(r)}`:Fh(i?n:r)}function Lh(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 Rh=`URL`;function zh(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===Rh);return n?.url??n?.identifier}function Bh(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function Vh(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 Hh(...e){for(let t of e){let e=Vh(t);if(e!==void 0)return e}}function Uh(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 Wh={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function Gh(e){return e?{showImage:e.showImage??Wh.showImage,cornerBadges:e.cornerBadges??Wh.cornerBadges,body:e.body??Wh.body,footer:e.footer??Wh.footer}:Wh}var Kh=()=>`chc-tc-card`,qh=()=>`chc-tc-card--clickable`,Jh=()=>`chc-tc-card--offline`,Yh=()=>`chc-tc-image`,Xh=()=>`chc-tc-image-img`,Zh=()=>`chc-tc-image-svg`,Qh=()=>`chc-tc-image-placeholder`,$h=()=>`chc-tc-corner-badges`,eg=()=>`chc-tc-status-pill`,tg=()=>`chc-tc-offline-badge`,ng=()=>`chc-tc-body`,rg=()=>`chc-tc-title`,ig=()=>`chc-tc-location`,ag=()=>`chc-tc-date-range`,og=()=>`chc-tc-organizer`,sg=()=>`chc-tc-updated-at`,cg=()=>`chc-tc-footer`,lg=()=>`chc-tc-fee-badge`,ug=()=>`chc-tc-player-count`,dg=()=>`chc-tc-event-count`,fg=()=>`chc-tc-tier-badge`,pg=()=>`chc-tc-card chc-tc-skeleton`,mg=()=>`chc-tc-skeleton-line`,hg=()=>`chc-tc-skeleton-block`;function gg(e,t,n){let r=Gh(t),i=document.createElement(`div`);return i.className=Kh(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Jh()),n?.onClick&&(i.classList.add(qh()),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(_g(e,r)),r.body.length&&i.appendChild(Sg(e,r)),r.footer.length&&i.appendChild(Ag(e,r)),i}function _g(e,t){let n=document.createElement(`div`);if(n.className=Yh(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=Xh(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>yg(n,e)),n.appendChild(t)}else vg(n,e);if(t.cornerBadges.length){let r=bg(e,t.cornerBadges);r&&n.appendChild(r)}return n}function vg(e,t){let n=wh(t.courtSvgSport,Zh());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Qh(),e.appendChild(r)}function yg(e,t){e.querySelector(`.${Xh()}`)?.remove(),vg(e,t)}function bg(e,t){let n=[];for(let r of t){let t=xg(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=$h();for(let e of n)r.appendChild(e);return r}function xg(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=eg(),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=tg(),e.textContent=`Offline`,e}return null}function Sg(e,t){let n=document.createElement(`div`);n.className=ng();for(let r of t.body){let t=Cg(r,e);t&&n.appendChild(t)}return n}function Cg(e,t){switch(e){case`title`:return wg(t);case`tier`:return Tg(t);case`location`:return Eg(t);case`dateRange`:return Dg(t);case`organizerName`:return Og(t);case`updatedAt`:return kg(t);default:return null}}function wg(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=rg(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function Tg(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=fg(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function Eg(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=ig(),t.textContent=e.location,t.title=e.location,t}function Dg(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=ag(),t.textContent=e.dateRangeFormatted,t}function Og(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=og(),t.textContent=e.organizerName,t}function kg(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=sg();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 Ag(e,t){let n=document.createElement(`div`);n.className=cg();for(let r of t.footer){let t=jg(r,e);t&&n.appendChild(t)}return n}function jg(e,t){switch(e){case`feeBadge`:return Mg(t);case`playerCount`:return Ng(t);case`eventCount`:return Pg(t);default:return null}}function Mg(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=lg(),t.textContent=e.feeFormatted,t}function Ng(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ug(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function Pg(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=dg(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function Fg(e){let t=Gh(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:pg(),imageClass:Yh(),bodyClass:ng(),footerClass:cg(),blockClass:hg(),lineClass:mg()})}var Ig=6048e5;function Lg(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Rg(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function zg(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function Bg(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=Ah(e.endDate),a=i?Mh(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=Ah(e.startDate);if(Rg(t,o?jh(o,r):null,a))return{kind:`live`,label:`Live`};let s=Lg(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=Ig)return{kind:`closing-soon`,label:`Closing Soon`}}let c=Lg(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:zg(c)}:null}var Vg=`–`,Hg={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function Ug({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(Hg[t]??2)}function Wg(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function Gg(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 Kg(e){if(!e?.length)return null;let t=Gg(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(Ug).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${Wg(s,a)}`:s===c?`${a} ${Wg(s,a)}`:`${a} ${Wg(s,a)} ${Vg} ${Wg(c,a)}`}var qg=`tournamentImage`;function Jg(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function Yg(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 Xg(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Zg(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?Bg({tournamentStatus:e?.tournamentStatus,startDate:e?.startDate,endDate:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:e?.localTimeZone||e?.timeZone},t?.now):t.statusOverride,s=e?.tournamentImageURL??zh(n,qg),c=e?.courtSvgSport??Bh(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Ih(e?.startDate,e?.endDate),location:Dh(r),tournamentImageURL:s,courtSvgSport:c,participantCount:Yg(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:Kg(Jg(e)),updatedAt:e?.updatedAt,offline:Xg(e),tournamentTier:Qg(e)}}function Qg(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 $g={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function e_(e){return e?{showImage:e.showImage??$g.showImage,showMap:e.showMap??$g.showMap,cornerBadges:e.cornerBadges??$g.cornerBadges,body:e.body??$g.body,footer:e.footer??$g.footer}:$g}var t_=()=>`chc-vc-card`,n_=()=>`chc-vc-card--clickable`,r_=()=>`chc-vc-image`,i_=()=>`chc-vc-image-img`,a_=()=>`chc-vc-image-svg`,o_=()=>`chc-vc-image-map`,s_=()=>`chc-vc-image-placeholder`,c_=()=>`chc-vc-corner-badges`,l_=()=>`chc-vc-primary-badge`,u_=()=>`chc-vc-body`,d_=()=>`chc-vc-title`,f_=()=>`chc-vc-address`,p_=()=>`chc-vc-court-breakdown`,m_=()=>`chc-vc-footer`,h_=()=>`chc-vc-amenity-row`,g_=()=>`chc-vc-amenity`,__=()=>`chc-vc-card chc-vc-skeleton`,v_=()=>`chc-vc-skeleton-line`,y_=()=>`chc-vc-skeleton-block`;function b_(e,t,n){let r=e_(t),i=document.createElement(`div`);i.className=t_(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=w_(e,r,()=>f()),i.appendChild(a));let o=r.body.length?M_(e,r):null;o&&i.appendChild(o);let s=r.footer.length?I_(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(n_()),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(n_()),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 x_(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function S_(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=o_(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function C_(e,t){let n=wh(t.courtSvgSport,a_());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=s_(),e.appendChild(r)}function w_(e,t,n){let r=document.createElement(`div`);if(r.className=r_(),e.venueImageURL){let i=document.createElement(`img`);i.className=i_(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&x_(e)?r.appendChild(S_(e)):C_(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&x_(e)?r.appendChild(S_(e)):C_(r,e);if(t.cornerBadges.length){let n=E_(e,t.cornerBadges);n&&r.appendChild(n)}return r}function T_(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=l_(),e.textContent=`Primary`,e}return null}function E_(e,t){let n=[];for(let r of t){let t=T_(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=c_();for(let e of n)r.appendChild(e);return r}function D_(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=d_(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function O_(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=f_(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function k_(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=p_(),t.textContent=e.courtBreakdown,t}function A_(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=p_(),t.textContent=e.venueAbbreviation,t}function j_(e,t){return e===`title`?D_(t):e===`address`?O_(t):e===`courtBreakdown`?k_(t):e===`venueAbbreviation`?A_(t):null}function M_(e,t){let n=document.createElement(`div`);n.className=u_();for(let r of t.body){let t=j_(r,e);t&&n.appendChild(t)}return n}function N_(e){let t=document.createElement(`span`);return t.className=g_(),t.textContent=e,t}function P_(e){let t=[];if(typeof e.courtCount==`number`&&t.push(N_(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(N_(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(N_(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(N_(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=h_();for(let e of t)n.appendChild(e);return n}function F_(e,t){return e===`amenityRow`?P_(t):e===`address`?O_(t):e===`courtBreakdown`?k_(t):null}function I_(e,t){let n=document.createElement(`div`);n.className=m_();for(let r of t.footer){let t=F_(r,e);t&&n.appendChild(t)}return n}function L_(e){let t=e_(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:__(),imageClass:r_(),bodyClass:u_(),footerClass:m_(),blockClass:y_(),lineClass:v_()})}var R_=`venueImage`;function z_(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function B_(e){if(!e.length)return;let t=new Map;for(let n of e){let e=z_(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 V_(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function H_(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:Eh(i),latitude:Vh(i?.latitude),longitude:Vh(i?.longitude),courtCount:n.length||void 0,courtBreakdown:B_(n),indoorCount:V_(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:V_(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:V_(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??zh(r,R_),courtSvgSport:e?.courtSvgSport??Bh(r)??t?.sport,notes:e?.notes}}var U_={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function W_(e){return e?{showImage:e.showImage??U_.showImage,cornerBadges:e.cornerBadges??U_.cornerBadges,body:e.body??U_.body,footer:e.footer??U_.footer}:U_}var G_=()=>`chc-cc-card`,K_=()=>`chc-cc-card--clickable`,q_=()=>`chc-cc-image`,J_=()=>`chc-cc-image-svg`,Y_=()=>`chc-cc-image-placeholder`,X_=()=>`chc-cc-corner-badges`,Z_=()=>`chc-cc-indoor-badge`,Q_=()=>`chc-cc-floodlit-badge`,$_=()=>`chc-cc-body`,ev=()=>`chc-cc-title`,tv=()=>`chc-cc-surface`,nv=()=>`chc-cc-availability`,rv=()=>`chc-cc-abbr`,iv=()=>`chc-cc-footer`,av=()=>`chc-cc-amenity-row`,ov=()=>`chc-cc-card chc-cc-skeleton`,sv=()=>`chc-cc-skeleton-line`,cv=()=>`chc-cc-skeleton-block`;function lv(e,t,n){let r=W_(t),i=document.createElement(`div`);return i.className=G_(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(K_()),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(dv(e,r)),r.body.length&&i.appendChild(xv(e,r)),r.footer.length&&i.appendChild(wv(e,r)),i}function uv(e,t){let n=wh(t.courtSvgSport,J_());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Y_(),e.appendChild(r)}function dv(e,t){let n=document.createElement(`div`);if(n.className=q_(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),uv(n,e),t.cornerBadges.length){let r=hv(e,t.cornerBadges);r&&n.appendChild(r)}return n}function fv(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=Z_(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function pv(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=Q_(),t.textContent=`Lit`,t}function mv(e,t){return e===`indoorOutdoor`?fv(t):e===`floodlit`?pv(t):null}function hv(e,t){let n=[];for(let r of t){let t=mv(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=X_();for(let e of n)r.appendChild(e);return r}function gv(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=ev(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function _v(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=tv(),t.textContent=e.surfaceLabel,t}function vv(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=nv(),t.textContent=e.availabilitySummary,t}function yv(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=rv(),t.textContent=e.courtAbbreviation,t}function bv(e,t){return e===`title`?gv(t):e===`surface`?_v(t):e===`availability`?vv(t):e===`abbreviation`?yv(t):null}function xv(e,t){let n=document.createElement(`div`);n.className=$_();for(let r of t.body){let t=bv(r,e);t&&n.appendChild(t)}return n}function Sv(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=av(),n.textContent=t.join(` · `),n}function Cv(e,t){return e===`amenityRow`?Sv(t):e===`availability`?vv(t):e===`surface`?_v(t):null}function wv(e,t){let n=document.createElement(`div`);n.className=iv();for(let r of t.footer){let t=Cv(r,e);t&&n.appendChild(t)}return n}function Tv(e){let t=W_(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:ov(),imageClass:q_(),bodyClass:$_(),footerClass:iv(),blockClass:cv(),lineClass:sv()})}var Ev=`INDOOR`,Dv=`OUTDOOR`,Ov=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function kv(e){if(!e)return;let t=String(e).toUpperCase();if(t===Ev)return Ev;if(t===Dv)return Dv}function Av(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&Ov.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&Ov.has(n)?n:t}function jv(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 Mv(e,t){let n=kv(e?.indoorOutdoor),r=Av(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:jv(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var Nv={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function Pv(e){return e?{grouping:e.grouping??Nv.grouping,sport:e.sport??Nv.sport,showGroupHeadings:e.showGroupHeadings??Nv.showGroupHeadings,showSummary:e.showSummary??Nv.showSummary,minCardWidth:e.minCardWidth??Nv.minCardWidth,emptyMessage:e.emptyMessage??Nv.emptyMessage}:Nv}var Fv=()=>`chc-cl`,Iv=()=>`chc-cl-summary`,Lv=()=>`chc-cl-summary-count`,Rv=()=>`chc-cl-group`,zv=()=>`chc-cl-group-heading`,Bv=()=>`chc-cl-group-count`,Vv=()=>`chc-cl-grid`,Hv=()=>`chc-cl-empty`,Uv=`Unspecified`,Wv=`Unspecified surface`;function Gv(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function Kv(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?Gv(t):Uv}function qv(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?Gv(t):Wv}function Jv(e,t){let n=Lh(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?Kv(e):t===`surface`?qv(e):`${Kv(e)} · ${qv(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 Yv(e){let t=new Map;for(let n of e){let e=Kv(n),r=qv(n),i=`${e===Uv?``:e.toLowerCase()} ${r===Wv?``: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 Xv(e,t,n){let r=Pv(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=Fv(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=Hv(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(Zv(i));for(let e of Jv(i,r.grouping))a.appendChild(Qv(e,r,n));return a}function Zv(e){let t=document.createElement(`div`);t.className=Iv();let n=document.createElement(`span`);n.className=Lv(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=Yv(e),t.append(n,r),t}function Qv(e,t,n){let r=document.createElement(`div`);if(r.className=Rv(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=zv();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=Bv(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=Vv(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(ey(r,t,n));return r.appendChild(i),r}function $v(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function ey(e,t,n){let r=Mv(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return lv(r,$v(t.grouping),i)}var ty={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 ny(e){return e?{tiles:e.tiles??ty.tiles,darkTileLayer:e.darkTileLayer===void 0?ty.darkTileLayer:e.darkTileLayer,view:e.view??ty.view,showViewToggle:e.showViewToggle??ty.showViewToggle,zoom:e.zoom??ty.zoom,height:e.height??ty.height,courtsLayout:e.courtsLayout??ty.courtsLayout,showHeader:e.showHeader??ty.showHeader,showPopup:e.showPopup??ty.showPopup,scrollWheelZoom:e.scrollWheelZoom??ty.scrollWheelZoom,darkTiles:e.darkTiles??ty.darkTiles}:ty}var ry=()=>`chc-vl`,iy=()=>`chc-vl-header`,ay=()=>`chc-vl-title`,oy=()=>`chc-vl-address`,sy=()=>`chc-vl-notes`,cy=()=>`chc-vl-body`,ly=()=>`chc-vl-body--below`,uy=()=>`chc-vl-mapwrap`,dy=()=>`chc-vl-map`,fy=()=>`chc-vl-map--invertible`,py=()=>`chc-vl-toggle`,my=()=>`chc-vl-toggle-btn`,hy=()=>`chc-vl-fallback`,gy=()=>`chc-vl-fallback-icon`,_y=()=>`chc-vl-courts`,vy=()=>`chc-vl-courts-title`,yy=()=>`chc-vl-court-list`,by=()=>`chc-vl-court`,xy=()=>`chc-vl-court--clickable`,Sy=()=>`chc-vl-court-name`,Cy=()=>`chc-vl-court-meta`,wy=()=>`chc-vl-pip`,Ty=()=>`chc-vl-marker`,Ey=()=>`chc-vl-popup-title`,Dy=()=>`chc-vl-popup-address`,Oy=`No coordinates for this venue`,ky=`Map unavailable`,Ay=new WeakMap;function jy(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function My(e){return Lh(e)}function Ny(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function Py(e,t,n){let r=ny(t),i=document.createElement(`div`);i.className=ry(),i.dataset.venueId=e.venueId,r.showHeader&&i.appendChild(Iy(e));let a=document.createElement(`div`);a.className=r.courtsLayout===`side`?cy():`${cy()} ${ly()}`;let{wrap:o,mapEl:s}=Ry(e,r,n);a.appendChild(o);let c=e.courts??[];return r.courtsLayout!==`none`&&c.length&&a.appendChild(Vy(c,e,n)),i.appendChild(a),s&&jy(e)&&Uy({root:i,mapEl:s,data:e,cfg:r,callbacks:n}),i}function Fy(e){let t=Ay.get(e);t&&(t(),Ay.delete(e))}function Iy(e){let t=document.createElement(`div`);t.className=iy();let n=document.createElement(`div`);if(n.className=ay(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=oy(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=sy(),n.textContent=e.notes,t.appendChild(n)}return t}function Ly(e){let t=document.createElement(`div`);t.className=hy();let n=document.createElement(`div`);n.className=gy(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function Ry(e,t,n){let r=document.createElement(`div`);if(r.className=uy(),r.style.height=t.height,!jy(e))return r.appendChild(Ly(Oy)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=dy(),i.appendChild(Ly(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(zy(a,t,n)),{wrap:r,mapEl:i}}function zy(e,t,n){let r=document.createElement(`div`);r.className=py(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=my(),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 By(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${by()} ${xy()}`:by(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=Sy(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=Cy();let s=Ny(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=wy(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function Vy(e,t,n){let r=document.createElement(`div`);r.className=_y();let i=document.createElement(`div`);i.className=vy(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=yy();for(let r of My(e))a.appendChild(By(r,t,n));return r.appendChild(a),r}function Hy(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`})[e]),n=e.addressFormatted?`<div class="${Dy()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${Ey()}">${t(e.venueName)}</div>${n}`}async function Uy({root:e,mapEl:t,data:n,cfg:r,callbacks:i}){let a;try{a=await import(`leaflet`)}catch(e){t.replaceChildren(Ly(ky)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}let o=a.default??a;try{t.replaceChildren();let a=o.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0});a.setView([n.latitude,n.longitude],r.zoom);let s=r.view,c=Yy(o,a,r,s);Xy(t,r,s);let l=e=>{s=e,a.removeLayer(c),c=Yy(o,a,r,e),Xy(t,r,e)},u=o.divIcon({className:``,html:`<div class="${Ty()}"></div>`,iconSize:[14,14]}),d=o.marker([n.latitude,n.longitude],{icon:u}).addTo(a);r.showPopup&&d.bindPopup(Hy(n)),d.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&l(t.dataset.view)}),Ky(t);let f=new ResizeObserver(()=>a.invalidateSize());f.observe(t);let p,m=globalThis.document?.documentElement;if(m&&r.darkTiles!==`never`&&r.darkTileLayer){let e=qy();p=new MutationObserver(()=>{let t=qy();t!==e&&(e=t,s!==`satellite`&&l(s))}),p.observe(m,{attributes:!0,attributeFilter:[`data-theme`]})}Ay.set(e,()=>{f.disconnect(),p?.disconnect(),a.remove()})}catch(e){t.replaceChildren(Ly(ky)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var Wy=!1;function Gy(e){return e?e!==`relative`&&e!==`absolute`:!1}function Ky(e){Wy||Gy(globalThis.getComputedStyle?.(e)?.position)&&(Wy=!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 qy(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function Jy(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Yy(e,t,n,r){let i=Jy(n,r,qy());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function Xy(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(fy(),r)}function Zy(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function Qy(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:Zy(e?.courtOrder),latitude:Hh(e?.latitude),longitude:Hh(e?.longitude)}}function $y(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:Eh(n),latitude:Hh(e?.latitude,n?.latitude),longitude:Hh(e?.longitude,n?.longitude),courts:t.map(Qy),notes:e?.notes}}var eb=()=>`chc-team-card`,tb=()=>`chc-team-card--clickable`,nb=()=>`chc-team-card__title-row`,rb=()=>`chc-team-card__name`,ib=()=>`chc-team-card__nickname`,ab=()=>`chc-team-card__counts`,ob=` · `;function sb(e,t){let n=document.createElement(`div`);n.className=eb(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(tb()),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(cb(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(lb(r)),n}function cb(e){let t=document.createElement(`div`);t.className=nb();let n=document.createElement(`span`);if(n.className=rb(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=ib(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function lb(e){let t=document.createElement(`div`);return t.className=ab(),t.textContent=e.join(ob),t}var ub=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],db=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function fb(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function pb(e){let t=fb();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&&db.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&ub.includes(r)&&(t[r]+=1)}return t}function mb(e){return ub.reduce((t,n)=>t+e[n],0)}var hb={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function gb(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of ub){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=mb(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of ub){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=`${hb[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of ub)r[t].classList.toggle(`is-active`,t===e)}}}var _b={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},vb=`http://www.w3.org/2000/svg`,yb=96,bb=yb/2,xb=47,Sb=31;function Cb(e,t){return{x:bb+t*Math.cos(e),y:bb+t*Math.sin(e)}}function wb(e,t){let n=Cb(e,xb),r=Cb(t,xb),i=Cb(t,Sb),a=Cb(e,Sb),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${xb} ${xb} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${Sb} ${Sb} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function Tb(){let e=Cb(-Math.PI/2,xb),t=Cb(Math.PI/2,xb),n=Cb(-Math.PI/2,Sb),r=Cb(Math.PI/2,Sb);return[`M ${e.x} ${e.y}`,`A ${xb} ${xb} 0 1 1 ${t.x} ${t.y}`,`A ${xb} ${xb} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${Sb} ${Sb} 0 1 0 ${r.x} ${r.y}`,`A ${Sb} ${Sb} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function Eb(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(vb,`svg`);t.setAttribute(`viewBox`,`0 0 ${yb} ${yb}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of ub){let r=document.createElementNS(vb,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(vb,`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=mb(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=ub.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of ub){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`,Tb());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,wb(s,n)),s=n}c&&(c.textContent=`${_b[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function Db(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 Ob={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function kb(e){return e?{cornerBadges:e.cornerBadges??Ob.cornerBadges,body:e.body??Ob.body,footer:e.footer??Ob.footer,showVisualization:e.showVisualization??Ob.showVisualization}:Ob}var Ab=()=>`chc-dc-card`,jb=()=>`chc-dc-card--clickable`,Mb=()=>`chc-dc-corner-badges`,Nb=()=>`chc-dc-status-pill`,Pb=()=>`chc-dc-secondary-badge`,Fb=()=>`chc-dc-body`,Ib=()=>`chc-dc-viz`,Lb=()=>`chc-dc-title-row`,Rb=()=>`chc-dc-title`,zb=()=>`chc-dc-draw-type`,Bb=()=>`chc-dc-meta`,Vb=()=>`chc-dc-footer`,Hb=()=>`chc-dc-chip`,Ub=()=>`chc-dc-progress`,Wb=()=>`chc-dc-progress-bar`,Gb=()=>`chc-dc-progress-fill`,Kb=()=>`chc-dc-card chc-dc-skeleton`,qb=()=>`chc-dc-skeleton-line`;function Jb(e,t,n){let r=kb(t),i=document.createElement(`div`);if(i.className=Ab(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(jb()),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=Ib(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(dx(e,r)),r.footer.length&&i.appendChild(fx(e,r)),i}function Yb(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=Nb(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function Xb(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=Pb(),t.dataset.kind=`published`,t.textContent=`Published`,t}function Zb(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=Pb(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function Qb(e,t){return e===`status`?Yb(t):e===`publishedBadge`?Xb(t):e===`embargoBadge`?Zb(t):null}function $b(e,t){let n=[];for(let r of t){let t=Qb(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Mb();for(let e of n)r.appendChild(e);return r}function ex(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=Rb(),t.textContent=e.drawName,t.title=e.drawName,t}function tx(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=zb(),t.textContent=e.drawTypeLabel,t}function nx(e){let t=document.createElement(`span`);return t.className=Hb(),t.textContent=e,t}function rx(e){return typeof e.drawSize==`number`?nx(`Size ${e.drawSize}`):null}function ix(e){return typeof e.entryCount==`number`?nx(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function ax(e){return e.matchUpFormat?nx(e.matchUpFormat):null}function ox(e){return typeof e.flightNumber==`number`?nx(`Flight ${e.flightNumber}`):null}function sx(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=Bb(),n.textContent=t.join(` · `),n}function cx(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=Ub();let a=document.createElement(`div`);a.className=Bb(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=Wb();let s=document.createElement(`div`);return s.className=Gb(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function lx(e,t){return e===`title`?ex(t):e===`drawTypeLabel`?tx(t):e===`drawSize`?rx(t):e===`entries`?ix(t):e===`matchUpFormat`?ax(t):e===`flightNumber`?ox(t):e===`ratings`?sx(t):e===`matchUpProgress`?cx(t):null}function ux(e,t){let n=document.createElement(`div`);n.className=Lb();let r=ex(e);r&&n.appendChild(r);let i=$b(e,t);return i&&n.appendChild(i),n}function dx(e,t){let n=document.createElement(`div`);n.className=Fb();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=$b(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(ux(e,t.cornerBadges));continue}let a=lx(r,e);a&&n.appendChild(a)}return n}function fx(e,t){let n=document.createElement(`div`);n.className=Vb();for(let r of t.footer){let t=lx(r,e);t&&n.appendChild(t)}return n}function px(){let e=document.createElement(`div`);e.className=Kb();let t=document.createElement(`div`);t.className=Fb();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=qb(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var mx={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 hx(e){if(e)return mx[e]?mx[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function gx(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 _x(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 vx(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 yx(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:gx(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?vx({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:hx(e?.drawType),drawSize:_x(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 bx={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},xx=15;function Sx(e){return e?{showImage:e.showImage??bx.showImage,cornerBadges:e.cornerBadges??bx.cornerBadges,body:e.body??bx.body,footer:e.footer??bx.footer}:bx}var Cx=()=>`chc-ec-card`,wx=()=>`chc-ec-card--clickable`,Tx=()=>`chc-ec-image`,Ex=()=>`chc-ec-image-img`,Dx=()=>`chc-ec-image-svg`,Ox=()=>`chc-ec-image-placeholder`,kx=()=>`chc-ec-corner-badges`,Ax=()=>`chc-ec-status-pill`,jx=()=>`chc-ec-eventtype-badge`,Mx=()=>`chc-ec-gender-badge`,Nx=()=>`chc-ec-body`,Px=()=>`chc-ec-title`,Fx=()=>`chc-ec-category`,Ix=()=>`chc-ec-draw-summary`,Lx=()=>`chc-ec-date-range`,Rx=()=>`chc-ec-footer`,zx=()=>`chc-ec-player-count`,Bx=()=>`chc-ec-progress`,Vx=()=>`chc-ec-progress-meta`,Hx=()=>`chc-ec-progress-bar`,Ux=()=>`chc-ec-progress-fill`,Wx=()=>`chc-ec-updated-at`,Gx=()=>`chc-ec-card chc-ec-skeleton`,Kx=()=>`chc-ec-skeleton-line`,qx=()=>`chc-ec-skeleton-block`;function Jx(e,t,n){let r=Sx(t),i=document.createElement(`div`);return i.className=Cx(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(wx()),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(Xx(e,r)),r.body.length&&i.appendChild(uS(e,r)),r.footer.length&&i.appendChild(dS(e,r)),i}function Yx(e,t){let n=wh(t.courtSvgSport,Dx());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Ox(),e.appendChild(r)}function Xx(e,t){let n=document.createElement(`div`);if(n.className=Tx(),e.eventImageURL){let t=document.createElement(`img`);t.className=Ex(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),Yx(n,e)}),n.appendChild(t)}else Yx(n,e);if(t.cornerBadges.length){let r=tS(e,t.cornerBadges);r&&n.appendChild(r)}return n}function Zx(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=Ax(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function Qx(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=jx(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function $x(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=Mx(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function eS(e,t){return e===`status`?Zx(t):e===`eventTypeBadge`?Qx(t):e===`genderBadge`?$x(t):null}function tS(e,t){let n=[];for(let r of t){let t=eS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=kx();for(let e of n)r.appendChild(e);return r}function nS(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=Px(),t.textContent=e.eventName,t.title=e.eventName,t}function rS(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=Fx(),t.textContent=e.categoryLabel,t}function iS(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=Ix(),t.textContent=e.drawSummary,t}function aS(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=Lx(),t.textContent=e.dateRangeFormatted,t}function oS(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=Wx();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 sS(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=zx(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function cS(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=Bx();let a=document.createElement(`div`);a.className=Vx(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=Hx();let s=document.createElement(`div`);return s.className=Ux(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function lS(e,t){return e===`title`?nS(t):e===`categoryLabel`?rS(t):e===`drawSummary`?iS(t):e===`dateRange`?aS(t):e===`updatedAt`?oS(t):e===`playerCount`?sS(t):e===`matchUpProgress`?cS(t):null}function uS(e,t){let n=document.createElement(`div`);n.className=Nx();for(let r of t.body){let t=lS(r,e);t&&n.appendChild(t)}return n}function dS(e,t){let n=document.createElement(`div`);n.className=Rx();for(let r of t.footer){let t=lS(r,e);t&&n.appendChild(t)}return n}function fS(e){let t=Sx(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:Gx(),imageClass:Tx(),bodyClass:Nx(),footerClass:Rx(),blockClass:qx(),lineClass:Kx()})}function pS(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function mS(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function hS(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=pS(e.startDate),i=pS(e.endDate);if(n&&(n.inProgress>0||mS(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 gS=`eventImage`,_S=`DRAFT_STATE`;function vS(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function yS(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 bS(e){if(!e)return;let t=xS(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=xS(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function xS(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function SS(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 CS(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 wS(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===_S):!1}function TS(e){return e.some(e=>e?.automated?.seedsOnly===!0||wS(e))}function ES(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var DS=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function OS(e){if(!e.length)return 0;let t=0;for(let n of e)DS.has(String(n?.entryStatus))&&(t+=1);return t}function kS(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:CS(e)),o=t?.statusOverride===void 0?hS({allDrawsCancelled:ES(n),drawCount:n.length,entryCount:OS(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(wS),hasSeedsOnlyDraw:TS(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:bS(e?.category),eventType:vS(e?.eventType),gender:yS(e?.gender),drawCount:n.length||void 0,drawSummary:SS(n),entryCount:OS(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Ih(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??zh(i,gS),courtSvgSport:e?.courtSvgSport??Bh(i)??t?.sport,updatedAt:e?.updatedAt}}var AS=()=>`chc-hil-container`,jS=()=>`chc-hil-form`,MS=()=>`chc-hil-header`,NS=()=>`chc-hil-title`,PS=()=>`chc-hil-tabs`,FS=()=>`chc-hil-tab`,IS=()=>`chc-hil-tab--active`,LS=()=>`chc-hil-field`,RS=()=>`chc-hil-label`,zS=()=>`chc-hil-input`,BS=()=>`chc-hil-row`,VS=()=>`chc-hil-submit`,HS=()=>`chc-hil-message`,US=()=>`chc-hil-message--error`,WS=()=>`chc-hil-message--success`,GS=()=>`chc-hil-switch-mode`;function KS(e){return e.replace(/\/+$/,``)}async function qS(e,t,n,r=fetch){let i=KS(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 JS(e,t,n){return qS(e,`/auth/hiveid/signup`,t,n)}function YS(e,t,n){return qS(e,`/auth/hiveid/verify-existing`,t,n)}function XS(e,t,n){return qS(e,`/auth/hiveid/magic-link`,t,n)}function ZS(e,t,n){return qS(e,`/auth/hiveid/magic-link/consume`,t,n)}function QS(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 $S=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],eC=`signup`,tC=`login`,nC=`magic-link`,rC=[eC,tC,nC],iC=`hiveid:authenticated`,aC={[eC]:`Sign up`,[tC]:`Log in`,[nC]:`Email link`},oC={[eC]:`Create your CourtHive identity`,[tC]:`Log in to CourtHive`,[nC]:`Email me a sign-in link`};function sC(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=AS(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=MS();let a=document.createElement(`h2`);a.className=NS(),i.appendChild(a);let o=document.createElement(`div`);o.className=PS(),i.appendChild(o);let s={};rC.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=FS(),t.textContent=aC[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=jS(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=HS(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=HS(),t===`error`&&l.classList.add(US()),t===`success`&&l.classList.add(WS()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=LS();let a=document.createElement(`label`);a.className=RS(),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=zS(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=BS(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=VS(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=GS();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=RS(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=LS();let r=document.createElement(`label`);r.className=RS(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=zS(),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=LS();let r=document.createElement(`label`);r.className=RS(),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=zS(),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=RS(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=LS();let r=document.createElement(`label`);r.className=RS(),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=zS(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=LS();let o=document.createElement(`label`);o.className=RS(),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=zS();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??$S).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),()=>uC({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent(iC,{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 JS(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(QS(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(fC(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 YS(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??dC()}),u(`Signed in.`,`success`)}catch(e){u(fC(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 XS(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(fC(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=oC[t],rC.forEach(e=>{s[e].classList.toggle(IS(),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=zS();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=zS();let i=document.createElement(`div`);i.className=LS();let a=document.createElement(`label`);a.textContent=`First name`,a.className=RS(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=LS();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=RS(),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:lC(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(iC,t),()=>r.removeEventListener(iC,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function cC(e,t,n){let r=await ZS(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??dC()}}function lC(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 uC(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function dC(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function fC(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 pC={name:`courthive-components`,packageManager:`pnpm@11.24.0`,version:`4.1.0`,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/*`},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`,"test:watch":`vitest`,"test:ui":`vitest --ui`,dev:`vite`,build:`tsc && vite build`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"test-storybook":`test-storybook --url http://localhost:6006`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src --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`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.2`,"@commitlint/config-conventional":`21.2.2`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/html-vite":`^10.2.17`,"@storybook/test-runner":`^0.24.0`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.67.0`,"@typescript-eslint/parser":`8.67.0`,"@vitest/browser-playwright":`^4.0.16`,"@vitest/coverage-v8":`^4.0.16`,"@vitest/ui":`^4.0.16`,eslint:`10.8.1`,"eslint-plugin-sonarjs":`4.2.0`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^20.8.3`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.3.0`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.5.2`,"tods-competition-factory":`6.37.0`,typescript:`^6.0.2`,vite:`8.2.2`,"vite-plugin-dts":`^5.0.0`,vitest:`^4.0.16`},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":`^6.0.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function mC(){return pC.version}var hC={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 gC(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&&B(i.onClick)&&i.onClick(),n&&B(n)&&n()},e.appendChild(t)}return{elements:r}}var _C=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function vC(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var yC=(e,t)=>n=>vC(n)&&Number(n)>=e&&Number(n)<=t,bC=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function xC(e){return t.tools.dateTime.dateValidation.test(e)}var SC=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},CC=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,wC=e=>CC.exec(e),TC=_({dateValidator:()=>xC,emailValidator:()=>wC,nameValidator:()=>_C,numericRange:()=>yC,numericValidator:()=>vC,passwordValidator:()=>bC,wordValidator:()=>SC}),EC=class{constructor({tournamentRecord:e,drawId:n,structureId:r,eventId:i}){this.tournamentRecord=e,this.drawId=n,this.structureId=r,this.eventId=i||e.events?.[0]?.eventId,t.tournamentEngine.setState(e)}setRenderCallback(e){this.renderCallback=e}getDrawEntryParticipantIds(){let{event:e,drawDefinition:n}=t.tournamentEngine.getEvent({drawId:this.drawId})||{};if(!e)return[];let{flightProfile:r}=t.tournamentEngine.getFlightProfile({eventId:this.eventId})||{};return(r?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries||n?.entries||[]).map(e=>e.participantId).filter(Boolean)}getAllParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getDrawEntryParticipantIds();if(!e.length)return[];let{participants:n=[]}=t.tournamentEngine.getParticipants({participantFilters:{participantIds:e}})||{};return n.map(e=>({participantId:e.participantId,participantName:e.participantName,participantType:e.participantType,person:e.person,individualParticipants:e.individualParticipants}))}getAvailableParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getAllParticipants(),{assignedParticipantIds:n=[]}=t.tournamentEngine.getAssignedParticipantIds({drawId:this.drawId})||{};return e.filter(e=>!n.includes(e.participantId))}removeAssignment({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=this.getMatchUps().find(t=>t.sides?.some(t=>t.drawPosition===e))?.sides?.find(t=>t.drawPosition===e)?.bye===!0,r=t.tournamentEngine.removeDrawPositionAssignment({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,n&&this.renderCallback&&this.renderCallback(),{success:!0}}assignParticipant({drawPosition:e,participantId:n}){t.tournamentEngine.setState(this.tournamentRecord);let r=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,participantId:n});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}assignBye({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPositionBye({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}assignQualifier({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,qualifier:!0});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getMatchUps(){t.tournamentEngine.setState(this.tournamentRecord);let{eventData:e}=t.tournamentEngine.getEventData({eventId:this.eventId})||{},n=(e?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId)?.roundMatchUps;return n?Object.values(n).flat():[]}getState(){return this.tournamentRecord}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},DC=`<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>`,OC=new WeakMap;function kC(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=DC,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),OC.set(n,i),n.appendChild(r),n}function AC(e){OC.get(e)?.()}function jC(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function MC(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function NC(e){let t,n,r;e.length===2?(t=e===jC||e===MC?e:PC,n=e,r=e):(t=jC,n=(t,n)=>jC(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 PC(){return 0}function FC(e){return e===null?NaN:+e}var IC=NC(jC),LC=IC.right;IC.left,NC(FC).center;function RC(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 zC=class extends Map{constructor(e,t=UC){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(BC(this,e))}has(e){return super.has(BC(this,e))}set(e,t){return super.set(VC(this,e),t)}delete(e){return super.delete(HC(this,e))}};function BC({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function VC({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function HC({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function UC(e){return typeof e==`object`&&e?e.valueOf():e}var WC=Math.sqrt(50),GC=Math.sqrt(10),KC=Math.sqrt(2);function qC(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=WC?10:a>=GC?5:a>=KC?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?qC(e,t,n*2):[s,c,l]}function JC(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?qC(t,e,n):qC(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 YC(e,t,n){return t=+t,e=+e,n=+n,qC(e,t,n)[2]}function XC(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?YC(t,e,n):YC(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ZC(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 QC(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 $C(e){return e}var ew=1,tw=2,nw=3,rw=4,iw=1e-6;function aw(e){return`translate(`+e+`,0)`}function ow(e){return`translate(0,`+e+`)`}function sw(e){return t=>+e(t)}function cw(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function lw(){return!this.__axis}function uw(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===ew||e===rw?-1:1,u=e===rw||e===tw?`x`:`y`,d=e===ew||e===nw?aw:ow;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):$C),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?cw:sw)(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===ew?`0em`:e===nw?`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`,iw).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,iw).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===rw||e===tw?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(lw).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===tw?`start`:e===rw?`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 dw(e){return uw(nw,e)}function fw(e){return uw(rw,e)}var pw={value:()=>{}};function mw(){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 hw(n)}function hw(e){this._=e}function gw(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}})}hw.prototype=mw.prototype={constructor:hw,on:function(e,t){var n=this._,r=gw(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=_w(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]=vw(n[i],e.name,t);else if(t==null)for(i in n)n[i]=vw(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 hw(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 _w(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function vw(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=pw,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var yw={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 bw(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),yw.hasOwnProperty(t)?{space:yw[t],local:e}:e}function xw(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 Sw(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Cw(e){var t=bw(e);return(t.local?Sw:xw)(t)}function ww(){}function Tw(e){return e==null?ww:function(){return this.querySelector(e)}}function Ew(e){typeof e!=`function`&&(e=Tw(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 mE(r,this._parents)}function Dw(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ow(){return[]}function kw(e){return e==null?Ow:function(){return this.querySelectorAll(e)}}function Aw(e){return function(){return Dw(e.apply(this,arguments))}}function jw(e){e=typeof e==`function`?Aw(e):kw(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 mE(r,i)}function Mw(e){return function(){return this.matches(e)}}function Nw(e){return function(t){return t.matches(e)}}var Pw=Array.prototype.find;function Fw(e){return function(){return Pw.call(this.children,e)}}function Iw(){return this.firstElementChild}function Lw(e){return this.select(e==null?Iw:Fw(typeof e==`function`?e:Nw(e)))}var Rw=Array.prototype.filter;function zw(){return Array.from(this.children)}function Bw(e){return function(){return Rw.call(this.children,e)}}function Vw(e){return this.selectAll(e==null?zw:Bw(typeof e==`function`?e:Nw(e)))}function Hw(e){typeof e!=`function`&&(e=Mw(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 mE(r,this._parents)}function Uw(e){return Array(e.length)}function Ww(){return new mE(this._enter||this._groups.map(Uw),this._parents)}function Gw(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Gw.prototype={constructor:Gw,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 Kw(e){return function(){return e}}function qw(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 Gw(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Jw(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 Gw(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Yw(e){return e.__data__}function Xw(e,t){if(!arguments.length)return Array.from(this,Yw);var n=t?Jw:qw,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Kw(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=Zw(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 mE(o,r),o._enter=s,o._exit=c,o}function Zw(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Qw(){return new mE(this._exit||this._groups.map(Uw),this._parents)}function $w(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 eT(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 mE(s,this._parents)}function tT(){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 nT(e){e||=rT;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 mE(i,this._parents).order()}function rT(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function iT(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function aT(){return Array.from(this)}function oT(){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 sT(){let e=0;for(let t of this)++e;return e}function cT(){return!this.node()}function lT(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 uT(e){return function(){this.removeAttribute(e)}}function dT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function fT(e,t){return function(){this.setAttribute(e,t)}}function pT(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function mT(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function hT(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 gT(e,t){var n=bw(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?dT:uT:typeof t==`function`?n.local?hT:mT:n.local?pT:fT)(n,t))}function _T(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function vT(e){return function(){this.style.removeProperty(e)}}function yT(e,t,n){return function(){this.style.setProperty(e,t,n)}}function bT(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function xT(e,t,n){return arguments.length>1?this.each((t==null?vT:typeof t==`function`?bT:yT)(e,t,n??``)):ST(this.node(),e)}function ST(e,t){return e.style.getPropertyValue(t)||_T(e).getComputedStyle(e,null).getPropertyValue(t)}function CT(e){return function(){delete this[e]}}function wT(e,t){return function(){this[e]=t}}function TT(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function ET(e,t){return arguments.length>1?this.each((t==null?CT:typeof t==`function`?TT:wT)(e,t)):this.node()[e]}function DT(e){return e.trim().split(/^|\s+/)}function OT(e){return e.classList||new kT(e)}function kT(e){this._node=e,this._names=DT(e.getAttribute(`class`)||``)}kT.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 AT(e,t){for(var n=OT(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function jT(e,t){for(var n=OT(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function MT(e){return function(){AT(this,e)}}function NT(e){return function(){jT(this,e)}}function PT(e,t){return function(){(t.apply(this,arguments)?AT:jT)(this,e)}}function FT(e,t){var n=DT(e+``);if(arguments.length<2){for(var r=OT(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?PT:t?MT:NT)(n,t))}function IT(){this.textContent=``}function LT(e){return function(){this.textContent=e}}function RT(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function zT(e){return arguments.length?this.each(e==null?IT:(typeof e==`function`?RT:LT)(e)):this.node().textContent}function BT(){this.innerHTML=``}function VT(e){return function(){this.innerHTML=e}}function HT(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function UT(e){return arguments.length?this.each(e==null?BT:(typeof e==`function`?HT:VT)(e)):this.node().innerHTML}function WT(){this.nextSibling&&this.parentNode.appendChild(this)}function GT(){return this.each(WT)}function KT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function qT(){return this.each(KT)}function JT(e){var t=typeof e==`function`?e:Cw(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function YT(){return null}function XT(e,t){var n=typeof e==`function`?e:Cw(e),r=t==null?YT:typeof t==`function`?t:Tw(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ZT(){var e=this.parentNode;e&&e.removeChild(this)}function QT(){return this.each(ZT)}function $T(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function eE(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tE(e){return this.select(e?eE:$T)}function nE(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function rE(e){return function(t){e.call(this,t,this.__data__)}}function iE(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 aE(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 oE(e,t,n){return function(){var r=this.__on,i,a=rE(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 sE(e,t,n){var r=iE(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?oE:aE,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function cE(e,t,n){var r=_T(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 lE(e,t){return function(){return cE(this,e,t)}}function uE(e,t){return function(){return cE(this,e,t.apply(this,arguments))}}function dE(e,t){return this.each((typeof t==`function`?uE:lE)(e,t))}function*fE(){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 pE=[null];function mE(e,t){this._groups=e,this._parents=t}function hE(){return new mE([[document.documentElement]],pE)}function gE(){return this}mE.prototype=hE.prototype={constructor:mE,select:Ew,selectAll:jw,selectChild:Lw,selectChildren:Vw,filter:Hw,data:Xw,enter:Ww,exit:Qw,join:$w,merge:eT,selection:gE,order:tT,sort:nT,call:iT,nodes:aT,node:oT,size:sT,empty:cT,each:lT,attr:gT,style:xT,property:ET,classed:FT,text:zT,html:UT,raise:GT,lower:qT,append:JT,insert:XT,remove:QT,clone:tE,datum:nE,on:sE,dispatch:dE,[Symbol.iterator]:fE};function _E(e){return typeof e==`string`?new mE([[document.querySelector(e)]],[document.documentElement]):new mE([[e]],pE)}function vE(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function yE(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function bE(){}var xE=.7,SE=1/xE,CE=`\\s*([+-]?\\d+)\\s*`,wE=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,TE=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,EE=/^#([0-9a-f]{3,8})$/,DE=RegExp(`^rgb\\(${CE},${CE},${CE}\\)$`),OE=RegExp(`^rgb\\(${TE},${TE},${TE}\\)$`),kE=RegExp(`^rgba\\(${CE},${CE},${CE},${wE}\\)$`),AE=RegExp(`^rgba\\(${TE},${TE},${TE},${wE}\\)$`),jE=RegExp(`^hsl\\(${wE},${TE},${TE}\\)$`),ME=RegExp(`^hsla\\(${wE},${TE},${TE},${wE}\\)$`),NE={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};vE(bE,RE,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:PE,formatHex:PE,formatHex8:FE,formatHsl:IE,formatRgb:LE,toString:LE});function PE(){return this.rgb().formatHex()}function FE(){return this.rgb().formatHex8()}function IE(){return ZE(this).formatHsl()}function LE(){return this.rgb().formatRgb()}function RE(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=EE.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?zE(t):n===3?new UE(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?BE(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?BE(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=DE.exec(e))?new UE(t[1],t[2],t[3],1):(t=OE.exec(e))?new UE(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kE.exec(e))?BE(t[1],t[2],t[3],t[4]):(t=AE.exec(e))?BE(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=jE.exec(e))?XE(t[1],t[2]/100,t[3]/100,1):(t=ME.exec(e))?XE(t[1],t[2]/100,t[3]/100,t[4]):NE.hasOwnProperty(e)?zE(NE[e]):e===`transparent`?new UE(NaN,NaN,NaN,0):null}function zE(e){return new UE(e>>16&255,e>>8&255,e&255,1)}function BE(e,t,n,r){return r<=0&&(e=t=n=NaN),new UE(e,t,n,r)}function VE(e){return e instanceof bE||(e=RE(e)),e?(e=e.rgb(),new UE(e.r,e.g,e.b,e.opacity)):new UE}function HE(e,t,n,r){return arguments.length===1?VE(e):new UE(e,t,n,r??1)}function UE(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}vE(UE,HE,yE(bE,{brighter(e){return e=e==null?SE:SE**+e,new UE(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xE:xE**+e,new UE(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new UE(JE(this.r),JE(this.g),JE(this.b),qE(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:WE,formatHex:WE,formatHex8:GE,formatRgb:KE,toString:KE}));function WE(){return`#${YE(this.r)}${YE(this.g)}${YE(this.b)}`}function GE(){return`#${YE(this.r)}${YE(this.g)}${YE(this.b)}${YE((isNaN(this.opacity)?1:this.opacity)*255)}`}function KE(){let e=qE(this.opacity);return`${e===1?`rgb(`:`rgba(`}${JE(this.r)}, ${JE(this.g)}, ${JE(this.b)}${e===1?`)`:`, ${e})`}`}function qE(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function JE(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function YE(e){return e=JE(e),(e<16?`0`:``)+e.toString(16)}function XE(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $E(e,t,n,r)}function ZE(e){if(e instanceof $E)return new $E(e.h,e.s,e.l,e.opacity);if(e instanceof bE||(e=RE(e)),!e)return new $E;if(e instanceof $E)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 $E(o,s,c,e.opacity)}function QE(e,t,n,r){return arguments.length===1?ZE(e):new $E(e,t,n,r??1)}function $E(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}vE($E,QE,yE(bE,{brighter(e){return e=e==null?SE:SE**+e,new $E(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xE:xE**+e,new $E(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 UE(nD(e>=240?e-240:e+120,i,r),nD(e,i,r),nD(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new $E(eD(this.h),tD(this.s),tD(this.l),qE(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=qE(this.opacity);return`${e===1?`hsl(`:`hsla(`}${eD(this.h)}, ${tD(this.s)*100}%, ${tD(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function eD(e){return e=(e||0)%360,e<0?e+360:e}function tD(e){return Math.max(0,Math.min(1,e||0))}function nD(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 rD=e=>()=>e;function iD(e,t){return function(n){return e+n*t}}function aD(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function oD(e){return(e=+e)==1?sD:function(t,n){return n-t?aD(t,n,e):rD(isNaN(t)?n:t)}}function sD(e,t){var n=t-e;return n?iD(e,n):rD(isNaN(e)?t:e)}var cD=(function e(t){var n=oD(t);function r(e,t){var r=n((e=HE(e)).r,(t=HE(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=sD(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 lD(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 uD(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function dD(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=bD(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 fD(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function pD(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function mD(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]=bD(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var hD=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,gD=new RegExp(hD.source,`g`);function _D(e){return function(){return e}}function vD(e){return function(t){return e(t)+``}}function yD(e,t){var n=hD.lastIndex=gD.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=hD.exec(e))&&(i=gD.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:pD(r,i)})),n=gD.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?vD(c[0].x):_D(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 bD(e,t){var n=typeof t,r;return t==null||n===`boolean`?rD(t):(n===`number`?pD:n===`string`?(r=RE(t))?(t=r,cD):yD:t instanceof RE?cD:t instanceof Date?fD:uD(t)?lD:Array.isArray(t)?dD:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?mD:pD)(e,t)}function xD(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var SD=180/Math.PI,CD={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wD(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)*SD,skewX:Math.atan(c)*SD,scaleX:o,scaleY:s}}var TD;function ED(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?CD:wD(t.a,t.b,t.c,t.d,t.e,t.f)}function DD(e){return e==null||(TD||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),TD.setAttribute(`transform`,e),!(e=TD.transform.baseVal.consolidate()))?CD:(e=e.matrix,wD(e.a,e.b,e.c,e.d,e.e,e.f))}function OD(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:pD(e,i)},{i:c-2,x:pD(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:pD(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:pD(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:pD(e,n)},{i:s-2,x:pD(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 kD=OD(ED,`px, `,`px)`,`deg)`),AD=OD(DD,`, `,`)`,`)`),jD=0,MD=0,ND=0,PD=1e3,FD,ID,LD=0,RD=0,zD=0,BD=typeof performance==`object`&&performance.now?performance:Date,VD=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function HD(){return RD||=(VD(UD),BD.now()+zD)}function UD(){RD=0}function WD(){this._call=this._time=this._next=null}WD.prototype=GD.prototype={constructor:WD,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?HD():+n)+(t==null?0:+t),!this._next&&ID!==this&&(ID?ID._next=this:FD=this,ID=this),this._call=e,this._time=n,XD()},stop:function(){this._call&&(this._call=null,this._time=1/0,XD())}};function GD(e,t,n){var r=new WD;return r.restart(e,t,n),r}function KD(){HD(),++jD;for(var e=FD,t;e;)(t=RD-e._time)>=0&&e._call.call(void 0,t),e=e._next;--jD}function qD(){RD=(LD=BD.now())+zD,jD=MD=0;try{KD()}finally{jD=0,YD(),RD=0}}function JD(){var e=BD.now(),t=e-LD;t>PD&&(zD-=t,LD=e)}function YD(){for(var e,t=FD,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:FD=n);ID=e,XD(r)}function XD(e){jD||(MD&&=clearTimeout(MD),e-RD>24?(e<1/0&&(MD=setTimeout(qD,e-BD.now()-zD)),ND&&=clearInterval(ND)):(ND||=(LD=BD.now(),setInterval(JD,PD)),jD=1,VD(qD)))}function ZD(e,t,n){var r=new WD;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var QD=mw(`start`,`end`,`cancel`,`interrupt`),$D=[];function eO(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;iO(e,n,{name:t,index:r,group:i,on:QD,tween:$D,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function tO(e,t){var n=rO(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function nO(e,t){var n=rO(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function rO(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function iO(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=GD(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 ZD(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(ZD(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 aO(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 oO(e){return this.each(function(){aO(this,e)})}function sO(e,t){var n,r;return function(){var i=nO(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 cO(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=nO(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 lO(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=rO(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?sO:cO)(n,e,t))}function uO(e,t,n){var r=e._id;return e.each(function(){var e=nO(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return rO(e,r).value[t]}}function dO(e,t){var n;return(typeof t==`number`?pD:t instanceof RE?cD:(n=RE(t))?(t=n,cD):yD)(e,t)}function fO(e){return function(){this.removeAttribute(e)}}function pO(e){return function(){this.removeAttributeNS(e.space,e.local)}}function mO(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 hO(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 gO(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 _O(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 vO(e,t){var n=bw(e),r=n===`transform`?AD:dO;return this.attrTween(e,typeof t==`function`?(n.local?_O:gO)(n,r,uO(this,`attr.`+e,t)):t==null?(n.local?pO:fO)(n):(n.local?hO:mO)(n,r,t))}function yO(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function bO(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function xO(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&bO(e,i)),n}return i._value=t,i}function SO(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&yO(e,i)),n}return i._value=t,i}function CO(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=bw(e);return this.tween(n,(r.local?xO:SO)(r,t))}function wO(e,t){return function(){tO(this,e).delay=+t.apply(this,arguments)}}function TO(e,t){return t=+t,function(){tO(this,e).delay=t}}function EO(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?wO:TO)(t,e)):rO(this.node(),t).delay}function DO(e,t){return function(){nO(this,e).duration=+t.apply(this,arguments)}}function OO(e,t){return t=+t,function(){nO(this,e).duration=t}}function kO(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?DO:OO)(t,e)):rO(this.node(),t).duration}function AO(e,t){if(typeof t!=`function`)throw Error();return function(){nO(this,e).ease=t}}function jO(e){var t=this._id;return arguments.length?this.each(AO(t,e)):rO(this.node(),t).ease}function MO(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();nO(this,e).ease=n}}function NO(e){if(typeof e!=`function`)throw Error();return this.each(MO(this._id,e))}function PO(e){typeof e!=`function`&&(e=Mw(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 lk(r,this._parents,this._name,this._id)}function FO(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 lk(o,this._parents,this._name,this._id)}function IO(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 LO(e,t,n){var r,i,a=IO(t)?tO:nO;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function RO(e,t){var n=this._id;return arguments.length<2?rO(this.node(),n).on.on(e):this.each(LO(n,e,t))}function zO(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function BO(){return this.on(`end.remove`,zO(this._id))}function VO(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Tw(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,eO(l[f],t,n,f,l,rO(u,n)));return new lk(a,this._parents,t,n)}function HO(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=kw(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=rO(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&eO(p,t,n,h,f,m);a.push(f),o.push(u)}return new lk(a,o,t,n)}var UO=hE.prototype.constructor;function WO(){return new UO(this._groups,this._parents)}function GO(e,t){var n,r,i;return function(){var a=ST(this,e),o=(this.style.removeProperty(e),ST(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function KO(e){return function(){this.style.removeProperty(e)}}function qO(e,t,n){var r,i=n+``,a;return function(){var o=ST(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function JO(e,t,n){var r,i,a;return function(){var o=ST(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),ST(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function YO(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=nO(this,e),l=c.on,u=c.value[a]==null?s||=KO(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function XO(e,t,n){var r=(e+=``)==`transform`?kD:dO;return t==null?this.styleTween(e,GO(e,r)).on(`end.style.`+e,KO(e)):typeof t==`function`?this.styleTween(e,JO(e,r,uO(this,`style.`+e,t))).each(YO(this._id,e)):this.styleTween(e,qO(e,r,t),n).on(`end.style.`+e,null)}function ZO(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function QO(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&ZO(e,a,n)),r}return a._value=t,a}function $O(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,QO(e,t,n??``))}function ek(e){return function(){this.textContent=e}}function tk(e){return function(){var t=e(this);this.textContent=t??``}}function nk(e){return this.tween(`text`,typeof e==`function`?tk(uO(this,`text`,e)):ek(e==null?``:e+``))}function rk(e){return function(t){this.textContent=e.call(this,t)}}function ik(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&rk(r)),t}return r._value=e,r}function ak(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,ik(e))}function ok(){for(var e=this._name,t=this._id,n=uk(),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=rO(c,t);eO(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new lk(r,this._parents,e,n)}function sk(){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=nO(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 ck=0;function lk(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function uk(){return++ck}var dk=hE.prototype;lk.prototype={constructor:lk,select:VO,selectAll:HO,selectChild:dk.selectChild,selectChildren:dk.selectChildren,filter:PO,merge:FO,selection:WO,transition:ok,call:dk.call,nodes:dk.nodes,node:dk.node,size:dk.size,empty:dk.empty,each:dk.each,on:RO,attr:vO,attrTween:CO,style:XO,styleTween:$O,text:nk,textTween:ak,remove:BO,tween:lO,delay:EO,duration:kO,ease:jO,easeVarying:NO,end:sk,[Symbol.iterator]:dk[Symbol.iterator]};function fk(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var pk={time:null,delay:0,duration:250,ease:fk};function mk(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function hk(e){var t,n;e instanceof lk?(t=e._id,e=e._name):(t=uk(),(n=pk).time=HD(),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])&&eO(c,e,t,l,o,n||mk(c,t));return new lk(r,this._parents,e,t)}hE.prototype.interrupt=oO,hE.prototype.transition=hk;var{abs:gk,max:_k,min:vk}=Math;[`w`,`e`].map(yk),[`n`,`s`].map(yk),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(yk);function yk(e){return{type:e}}var bk=Math.PI,xk=2*bk,Sk=1e-6,Ck=xk-Sk;function wk(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Tk(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return wk;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 Ek=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?wk:Tk(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>Sk){if(!(Math.abs(u*s-c*l)>Sk)||!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((bk-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Sk&&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)>Sk||Math.abs(this._y1-l)>Sk)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%xk+xk),d>Ck?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>Sk&&this._append`A${n},${n},0,${+(d>=bk)},${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._}};Ek.prototype;function Dk(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Ok(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 kk(e){return e=Ok(Math.abs(e)),e?e[1]:NaN}function Ak(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 jk(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Mk=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Nk(e){if(!(t=Mk.exec(e)))throw Error(`invalid format: `+e);var t;return new Pk({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]})}Nk.prototype=Pk.prototype;function Pk(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+``}Pk.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 Fk(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 Ik;function Lk(e,t){var n=Ok(e,t);if(!n)return Ik=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Ik=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`)+Ok(e,Math.max(0,t+a-1))[0]}function Rk(e,t){var n=Ok(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 zk={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Dk,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)=>Rk(e*100,t),r:Rk,s:Lk,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Bk(e){return e}var Vk=Array.prototype.map,Hk=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Uk(e){var t=e.grouping===void 0||e.thousands===void 0?Bk:Ak(Vk.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?Bk:jk(Vk.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=Nk(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`):zk[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=zk[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=Fk(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Ik!==void 0?Hk[8+Ik/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(kk(t)/3)))*3,r=10**-n,i=l((e=Nk(e),e.type=`f`,e),{suffix:Hk[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Wk,Gk,Kk;qk({thousands:`,`,grouping:[3],currency:[`$`,``]});function qk(e){return Wk=Uk(e),Gk=Wk.format,Kk=Wk.formatPrefix,Wk}function Jk(e){return Math.max(0,-kk(Math.abs(e)))}function Yk(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(kk(t)/3)))*3-kk(Math.abs(e)))}function Xk(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,kk(t)-kk(e))+1}function Zk(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 Qk(){return this.eachAfter(Zk)}function $k(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function eA(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 tA(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 nA(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function rA(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 iA(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function aA(e){for(var t=this,n=oA(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 oA(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 sA(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function cA(){return Array.from(this)}function lA(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function uA(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*dA(){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 fA(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=hA)):t===void 0&&(t=mA);for(var n=new vA(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 vA(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(_A)}function pA(){return fA(this).eachBefore(gA)}function mA(e){return e.children}function hA(e){return Array.isArray(e)?e[1]:null}function gA(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function _A(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function vA(e){this.data=e,this.depth=this.height=0,this.parent=null}vA.prototype=fA.prototype={constructor:vA,count:Qk,each:$k,eachAfter:tA,eachBefore:eA,find:nA,sum:rA,sort:iA,path:aA,ancestors:sA,descendants:cA,leaves:lA,links:uA,copy:pA,[Symbol.iterator]:dA};function yA(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 bA(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 xA(){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(yA),i}function a(e,t){return function(r){r.children&&bA(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 SA(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var CA=Symbol(`implicit`);function wA(){var e=new zC,t=[],n=[],r=CA;function i(i){let a=e.get(i);if(a===void 0){if(r!==CA)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 zC;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 wA(t,n).unknown(r)},SA.apply(i,arguments),i}function TA(){var e=wA().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=QC(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 TA(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},SA.apply(d(),arguments)}function EA(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return EA(t())},e}function DA(){return EA(TA.apply(null,arguments).paddingInner(1))}function OA(e){return function(){return e}}function kA(e){return+e}var AA=[0,1];function jA(e){return e}function MA(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:OA(isNaN(t)?NaN:.5)}function NA(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function PA(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=MA(i,r),a=n(o,a)):(r=MA(r,i),a=n(a,o)),function(e){return a(r(e))}}function FA(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]=MA(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=LC(e,t,1,r)-1;return a[n](i[n](t))}}function IA(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function LA(){var e=AA,t=AA,n=bD,r,i,a,o=jA,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==jA&&(o=NA(e[0],e[n-1])),s=n>2?FA:PA,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),pD))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,kA),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=xD,u()},d.clamp=function(e){return arguments.length?(o=e?!0:jA,u()):o!==jA},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 RA(){return LA()(jA,jA)}function zA(e,t,n,r){var i=XC(e,t,n),a;switch(r=Nk(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Yk(i,o))&&(r.precision=a),Kk(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Xk(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Jk(i))&&(r.precision=a-(r.type===`%`)*2)}return Gk(r)}function BA(e){var t=e.domain;return e.ticks=function(e){var n=t();return JC(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return zA(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=YC(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 VA(){var e=RA();return e.copy=function(){return IA(e,VA())},SA.apply(e,arguments),BA(e)}function HA(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 UA=new Date,WA=new Date;function GA(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=>GA(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)=>(UA.setTime(+t),WA.setTime(+r),e(UA),e(WA),Math.floor(n(UA,WA))),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 KA=GA(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);KA.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?GA(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):KA),KA.range;var qA=1e3,JA=qA*60,YA=JA*60,XA=YA*24,ZA=XA*7,QA=XA*30,$A=XA*365,ej=GA(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*qA)},(e,t)=>(t-e)/qA,e=>e.getUTCSeconds());ej.range;var tj=GA(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*qA)},(e,t)=>{e.setTime(+e+t*JA)},(e,t)=>(t-e)/JA,e=>e.getMinutes());tj.range;var nj=GA(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*JA)},(e,t)=>(t-e)/JA,e=>e.getUTCMinutes());nj.range;var rj=GA(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*qA-e.getMinutes()*JA)},(e,t)=>{e.setTime(+e+t*YA)},(e,t)=>(t-e)/YA,e=>e.getHours());rj.range;var ij=GA(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*YA)},(e,t)=>(t-e)/YA,e=>e.getUTCHours());ij.range;var aj=GA(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*JA)/XA,e=>e.getDate()-1);aj.range;var oj=GA(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/XA,e=>e.getUTCDate()-1);oj.range;var sj=GA(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/XA,e=>Math.floor(e/XA));sj.range;function cj(e){return GA(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())*JA)/ZA)}var lj=cj(0),uj=cj(1),dj=cj(2),fj=cj(3),pj=cj(4),mj=cj(5),hj=cj(6);lj.range,uj.range,dj.range,fj.range,pj.range,mj.range,hj.range;function gj(e){return GA(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)/ZA)}var _j=gj(0),vj=gj(1),yj=gj(2),bj=gj(3),xj=gj(4),Sj=gj(5),Cj=gj(6);_j.range,vj.range,yj.range,bj.range,xj.range,Sj.range,Cj.range;var wj=GA(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());wj.range;var Tj=GA(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());Tj.range;var Ej=GA(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());Ej.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:GA(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)}),Ej.range;var Dj=GA(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());Dj.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:GA(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)}),Dj.range;function Oj(e,t,n,r,i,a){let o=[[ej,1,qA],[ej,5,5*qA],[ej,15,15*qA],[ej,30,30*qA],[a,1,JA],[a,5,5*JA],[a,15,15*JA],[a,30,30*JA],[i,1,YA],[i,3,3*YA],[i,6,6*YA],[i,12,12*YA],[r,1,XA],[r,2,2*XA],[n,1,ZA],[t,1,QA],[t,3,3*QA],[e,1,$A]];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=NC(([,,e])=>e).right(o,i);if(a===o.length)return e.every(XC(t/$A,n/$A,r));if(a===0)return KA.every(Math.max(XC(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[kj,Aj]=Oj(Dj,Tj,_j,sj,ij,nj),[jj,Mj]=Oj(Ej,wj,lj,aj,rj,tj);function Nj(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 Pj(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 Fj(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Ij(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=Hj(i),u=Uj(i),d=Hj(a),f=Uj(a),p=Hj(o),m=Uj(o),h=Hj(s),g=Uj(s),_=Hj(c),v=Uj(c),y={a:N,A:P,b:F,B:ee,c:null,d:uM,e:uM,f:hM,g:EM,G:OM,H:dM,I:fM,j:pM,L:mM,m:gM,M:_M,p:te,q:I,Q:ZM,s:QM,S:vM,u:yM,U:bM,V:SM,w:CM,W:wM,x:null,X:null,y:TM,Y:DM,Z:kM,"%":XM},b={a:L,A:ne,b:re,B:R,c:null,d:AM,e:AM,f:FM,g:KM,G:JM,H:jM,I:MM,j:NM,L:PM,m:IM,M:LM,p:ie,q:z,Q:ZM,s:QM,S:RM,u:zM,U:BM,V:HM,w:UM,W:WM,x:null,X:null,y:GM,Y:qM,Z:YM,"%":XM},x={a:E,A:D,b:O,B:k,c:A,d:eM,e:eM,f:oM,g:Xj,G:Yj,H:nM,I:nM,j:tM,L:aM,m:$j,M:rM,p:T,q:Qj,Q:cM,s:lM,S:iM,u:Gj,U:Kj,V:qj,w:Wj,W:Jj,x:j,X:M,y:Xj,Y:Yj,Z:Zj,"%":sM};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=Lj[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=Fj(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=Pj(Fj(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?vj.ceil(a):vj(a),a=oj.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Nj(Fj(r.y,0,1)),o=a.getDay(),a=o>4||o===0?uj.ceil(a):uj(a),a=aj.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?Pj(Fj(r.y,0,1)).getUTCDay():Nj(Fj(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,Pj(r)):Nj(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 Lj?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 ee(e){return s[e.getMonth()]}function te(e){return i[+(e.getHours()>=12)]}function I(e){return 1+~~(e.getMonth()/3)}function L(e){return o[e.getUTCDay()]}function ne(e){return a[e.getUTCDay()]}function re(e){return c[e.getUTCMonth()]}function R(e){return s[e.getUTCMonth()]}function ie(e){return i[+(e.getUTCHours()>=12)]}function z(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 Lj={"-":``,_:` `,0:`0`},Rj=/^\s*\d+/,zj=/^%/,Bj=/[\\^$*+?|[\]().{}]/g;function X(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 Vj(e){return e.replace(Bj,`\\$&`)}function Hj(e){return RegExp(`^(?:`+e.map(Vj).join(`|`)+`)`,`i`)}function Uj(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Wj(e,t,n){var r=Rj.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Gj(e,t,n){var r=Rj.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Kj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function qj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Jj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Yj(e,t,n){var r=Rj.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Xj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Zj(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 Qj(e,t,n){var r=Rj.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function $j(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function eM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function tM(e,t,n){var r=Rj.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function nM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function rM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function iM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function aM(e,t,n){var r=Rj.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function oM(e,t,n){var r=Rj.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function sM(e,t,n){var r=zj.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function cM(e,t,n){var r=Rj.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function lM(e,t,n){var r=Rj.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function uM(e,t){return X(e.getDate(),t,2)}function dM(e,t){return X(e.getHours(),t,2)}function fM(e,t){return X(e.getHours()%12||12,t,2)}function pM(e,t){return X(1+aj.count(Ej(e),e),t,3)}function mM(e,t){return X(e.getMilliseconds(),t,3)}function hM(e,t){return mM(e,t)+`000`}function gM(e,t){return X(e.getMonth()+1,t,2)}function _M(e,t){return X(e.getMinutes(),t,2)}function vM(e,t){return X(e.getSeconds(),t,2)}function yM(e){var t=e.getDay();return t===0?7:t}function bM(e,t){return X(lj.count(Ej(e)-1,e),t,2)}function xM(e){var t=e.getDay();return t>=4||t===0?pj(e):pj.ceil(e)}function SM(e,t){return e=xM(e),X(pj.count(Ej(e),e)+(Ej(e).getDay()===4),t,2)}function CM(e){return e.getDay()}function wM(e,t){return X(uj.count(Ej(e)-1,e),t,2)}function TM(e,t){return X(e.getFullYear()%100,t,2)}function EM(e,t){return e=xM(e),X(e.getFullYear()%100,t,2)}function DM(e,t){return X(e.getFullYear()%1e4,t,4)}function OM(e,t){var n=e.getDay();return e=n>=4||n===0?pj(e):pj.ceil(e),X(e.getFullYear()%1e4,t,4)}function kM(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+X(t/60|0,`0`,2)+X(t%60,`0`,2)}function AM(e,t){return X(e.getUTCDate(),t,2)}function jM(e,t){return X(e.getUTCHours(),t,2)}function MM(e,t){return X(e.getUTCHours()%12||12,t,2)}function NM(e,t){return X(1+oj.count(Dj(e),e),t,3)}function PM(e,t){return X(e.getUTCMilliseconds(),t,3)}function FM(e,t){return PM(e,t)+`000`}function IM(e,t){return X(e.getUTCMonth()+1,t,2)}function LM(e,t){return X(e.getUTCMinutes(),t,2)}function RM(e,t){return X(e.getUTCSeconds(),t,2)}function zM(e){var t=e.getUTCDay();return t===0?7:t}function BM(e,t){return X(_j.count(Dj(e)-1,e),t,2)}function VM(e){var t=e.getUTCDay();return t>=4||t===0?xj(e):xj.ceil(e)}function HM(e,t){return e=VM(e),X(xj.count(Dj(e),e)+(Dj(e).getUTCDay()===4),t,2)}function UM(e){return e.getUTCDay()}function WM(e,t){return X(vj.count(Dj(e)-1,e),t,2)}function GM(e,t){return X(e.getUTCFullYear()%100,t,2)}function KM(e,t){return e=VM(e),X(e.getUTCFullYear()%100,t,2)}function qM(e,t){return X(e.getUTCFullYear()%1e4,t,4)}function JM(e,t){var n=e.getUTCDay();return e=n>=4||n===0?xj(e):xj.ceil(e),X(e.getUTCFullYear()%1e4,t,4)}function YM(){return`+0000`}function XM(){return`%`}function ZM(e){return+e}function QM(e){return Math.floor(e/1e3)}var $M,eN;tN({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 tN(e){return $M=Ij(e),eN=$M.format,$M.parse,$M.utcFormat,$M.utcParse,$M}function nN(e){return new Date(e)}function rN(e){return e instanceof Date?+e:+new Date(+e)}function iN(e,t,n,r,i,a,o,s,c,l){var u=RA(),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,rN)):f().map(nN)},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(HA(n,e)):u},u.copy=function(){return IA(u,iN(e,t,n,r,i,a,o,s,c,l))},u}function aN(){return SA.apply(iN(jj,Mj,Ej,wj,lj,aj,rj,tj,ej,eN).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Z(e){return function(){return e}}var oN=Math.abs,sN=Math.atan2,cN=Math.cos,lN=Math.max,uN=Math.min,dN=Math.sin,fN=Math.sqrt,pN=Math.PI,mN=pN/2,hN=2*pN;function gN(e){return e>1?0:e<-1?pN:Math.acos(e)}function _N(e){return e>=1?mN:e<=-1?-mN:Math.asin(e)}function vN(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 Ek(t)}function yN(e){return e.innerRadius}function bN(e){return e.outerRadius}function xN(e){return e.startAngle}function SN(e){return e.endAngle}function CN(e){return e&&e.padAngle}function wN(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 TN(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/fN(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)*fN(lN(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 EN(){var e=yN,t=bN,n=Z(0),r=null,i=xN,a=SN,o=CN,s=null,c=vN(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-mN,m=a.apply(this,arguments)-mN,h=oN(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>hN-1e-12)s.moveTo(f*cN(p),f*dN(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*cN(m),d*dN(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):fN(d*d+f*f)),T=uN(oN(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=_N(w/d*dN(C)),j=_N(w/f*dN(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*cN(_),N=f*dN(_),P=d*cN(b),F=d*dN(b);if(T>1e-12){var ee=f*cN(v),te=f*dN(v),I=d*cN(y),L=d*dN(y),ne;if(h<pN){if(ne=wN(M,N,I,L,ee,te,P,F)){var re=M-ne[0],R=N-ne[1],ie=ee-ne[0],z=te-ne[1],ae=1/dN(gN((re*ie+R*z)/(fN(re*re+R*R)*fN(ie*ie+z*z)))/2),oe=fN(ne[0]*ne[0]+ne[1]*ne[1]);E=uN(T,(d-oe)/(ae-1)),D=uN(T,(f-oe)/(ae+1))}else E=D=0}}S>1e-12?D>1e-12?(O=TN(I,L,M,N,f,D,g),k=TN(ee,te,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,sN(O.y01,O.x01),sN(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,sN(O.y01,O.x01),sN(O.y11,O.x11),!g),s.arc(0,0,f,sN(O.cy+O.y11,O.cx+O.x11),sN(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,sN(k.y11,k.x11),sN(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=TN(P,F,ee,te,d,-E,g),k=TN(M,N,I,L,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,sN(O.y01,O.x01),sN(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,sN(O.y01,O.x01),sN(O.y11,O.x11),!g),s.arc(0,0,d,sN(O.cy+O.y11,O.cx+O.x11),sN(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,sN(k.y11,k.x11),sN(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-pN/2;return[cN(r)*n,dN(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:Z(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Z(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Z(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Z(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:Z(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function DN(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ON(e){this._context=e}ON.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 kN(e){return new ON(e)}function AN(e){return e[0]}function jN(e){return e[1]}function MN(e,t){var n=Z(!0),r=null,i=kN,a=null,o=vN(s);e=typeof e==`function`?e:e===void 0?AN:Z(e),t=typeof t==`function`?t:t===void 0?jN:Z(t);function s(s){var c,l=(s=DN(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:Z(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:Z(!!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 NN(e,t,n){var r=null,i=Z(!0),a=null,o=kN,s=null,c=vN(l);e=typeof e==`function`?e:e===void 0?AN:Z(+e),t=typeof t==`function`?t:Z(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?jN:Z(+n);function l(l){var u,d,f,p=(l=DN(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 MN().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Z(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:Z(+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:Z(!!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 PN(e){return e<0?-1:1}function FN(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(PN(a)+PN(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function IN(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function LN(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 RN(e){this._context=e}RN.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:LN(this,this._t0,IN(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,LN(this,IN(this,n=FN(this,e,t)),n);break;default:LN(this,this._t0,n=FN(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(RN.prototype).point=function(e,t){RN.prototype.point.call(this,t,e)};function zN(e){return new RN(e)}function BN(e,t){this._context=e,this._t=t}BN.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 VN(e){return new BN(e,1)}function HN(e,t,n){this.k=e,this.x=t,this.y=n}HN.prototype={constructor:HN,scale:function(e){return e===1?this:new HN(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new HN(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 UN=new HN(1,0,0);WN.prototype=HN.prototype;function WN(e){for(;!e.__zoom;)if(!(e=e.parentNode))return UN;return e.__zoom}function GN(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 KN={DECISIVE:20,ROUTINE:50},qN=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),JN={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},YN=`#cfd8dc`,XN=`COMPETITIVE`,ZN=`ROUTINE`,QN=`DECISIVE`,$N=`WALKOVER`;function eP(e,t=KN){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)?$N:a<=t.DECISIVE?QN:a<=t.ROUTINE?ZN:XN}function tP(e,n=KN){if(e)return eP(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function nP({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&qN.has(t))return $N;if(e)return n?.length?eP(n,i):tP(r,i)}function rP(e,t){return e?t?.[e]??JN[e]:YN}var{WILDCARD:iP,QUALIFIER:aP,LUCKY_LOSER:oP}=t.entryStatusConstants,sP=`text-anchor`,cP=`dominant-baseline`,lP=`fill-opacity`,uP=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 dP(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function fP(e){if(e)switch(e){case iP:return`WC`;case aP:return`Q`;case oP:return`LL`;default:return e}}function pP(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:fP(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function mP(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 hP(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}=mP(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:fP(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 gP(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=dP(pP(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=hP(dP(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=hP(dP(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function _P(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=VA().domain([1,32]).range([`0`,`1`]);o=VA().domain(QC(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=VA().domain(QC(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=VA().domain(QC(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),_P(n,t)})}function vP(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?rP(e.competitiveness,t):YN,e.children?.forEach(e=>vP(e,t)))}function yP(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 bP(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function xP(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=bP(t.children,e.participantName),r&&n.push(r.participantName);else{let r=yP(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function SP(e,t){return-(e*t/2)+t/2}function CP(e,t,n){let r=_E(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 wP(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr(sP,`middle`).attr(cP,`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(sP,`middle`).attr(cP,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function TP(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(sP,`middle`).attr(cP,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(kP(n)))}function EP(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=gP(n),m=fA(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;xA().size([2*Math.PI,h-g])(m),_P(p,VA().domain([0,n.drawSize||128]).range([0,1])),vP(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=EN().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}=CP(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}=wP(S,a,o,c,l);function M(){let e=GN(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=VA().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(sP,`middle`).attr(cP,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>kP(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(lP,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(lP,.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,ee;function te(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=xP(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=SP(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==ee?.toLowerCase()&&_E(e.currentTarget).attr(lP,.9):C.selectAll(`path`).attr(lP,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};TP(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&TP(E,s,n.opponent.nationalityCode,1,!1,i,r)}function I(e,t){if(F){let n=t.data.participantName?.toLowerCase()===ee?.toLowerCase();_E(e.currentTarget).attr(lP,n?1:.2)}else C.selectAll(`path`).attr(lP,.8);N(),M()}let L=i.eventHandlers?.clickSegment;function ne(e,t){if(!L)return;let n=t.data;L({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 re=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(lP,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,te).on(`mouseout`,I);L&&re.style(`cursor`,`pointer`).on(`click`,ne),re.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&&Mm(t,r);return n&&e.push(n),e},[]);return Hp(e)?s[0]:s}Nm.defaultProps=gm,Nm.setDefaultProps=vm,Nm.currentInput=$p,Object.assign({},Kd,{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)}}),Nm.setDefaultProps({render:Om});var Pm=`#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(`.`),Fm=`notes-toolbar-recent-colors`,Im=8;function Lm(){try{return JSON.parse(localStorage.getItem(Fm)||`[]`)}catch{return[]}}function Rm(e){let t=Lm().filter(t=>t!==e);t.unshift(e),t.length>Im&&(t=t.slice(0,Im)),localStorage.setItem(Fm,JSON.stringify(t))}function zm(e={}){let t=document.createElement(`div`);return t.className=`notes-toolbar`,t.appendChild(Wm(e)),t.appendChild(Gm(e)),t.appendChild(Km(e)),t.appendChild(Xm(e)),t.appendChild($m(e)),t.appendChild(eh(e)),t.appendChild(nh(e)),t}function Bm(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 Vm(e,t){let n=e.querySelector(`[data-action="heading"]`);n&&(n.value=t===!1?`0`:String(t))}function Hm(){let e=document.createElement(`div`);return e.className=`notes-toolbar-group`,e}function Um(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 Wm(e){let t=Hm(),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 Gm(e){let t=Hm();return t.appendChild(Um(`bold`,`<b>B</b>`,`Bold`,e.onBold)),t.appendChild(Um(`italic`,`<i>I</i>`,`Italic`,e.onItalic)),t.appendChild(Um(`underline`,`<u>U</u>`,`Underline`,e.onUnderline)),t.appendChild(Um(`strike`,`<s>S</s>`,`Strikethrough`,e.onStrike)),t}function Km(e){let t=Hm();return t.appendChild(qm(`color`,`A`,`Text color`,`#000000`,t=>{Rm(t),e.onColor?.(t)})),t.appendChild(qm(`background`,`A`,`Background color`,`#ffff00`,t=>{Rm(t),e.onBackground?.(t)})),t}function qm(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=Jm(r,e=>{s.style.backgroundColor=e,i(e),c?.destroy(),c=void 0});c=Nm(a,{content:e,theme:`light-border`,trigger:`manual`,interactive:!0,placement:`bottom-start`,onHidden:()=>{c?.destroy(),c=void 0}}),c.show()}),a}function Jm(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 Pm)r.appendChild(Ym(n,n===e,t));n.appendChild(r);let i=Lm();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(Ym(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 Ym(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 Xm(e){let t=Hm();return t.appendChild(Um(`orderedList`,Zm(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(Um(`bulletList`,Zm(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 Zm(e,t,n){return`<svg width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" xmlns="http://www.w3.org/2000/svg">${n}</svg>`}var Qm={alignLeft:Zm(16,16,`<path d="M1 2h14v2H1zm0 4h9v2H1zm0 4h14v2H1zm0 4h9v2H1z" fill="currentColor"/>`),alignCenter:Zm(16,16,`<path d="M1 2h14v2H1zm3.5 4h7v2h-7zM1 10h14v2H1zm3.5 4h7v2h-7z" fill="currentColor"/>`),alignRight:Zm(16,16,`<path d="M1 2h14v2H1zm6 4h8v2H7zM1 10h14v2H1zm6 4h8v2H7z" fill="currentColor"/>`),alignJustify:Zm(16,16,`<path d="M1 2h14v2H1zm0 4h14v2H1zm0 4h14v2H1zm0 4h14v2H1z" fill="currentColor"/>`)};function $m(e){let t=Hm();return t.appendChild(Um(`alignLeft`,Qm.alignLeft,`Align left`,()=>e.onAlign?.(`left`))),t.appendChild(Um(`alignCenter`,Qm.alignCenter,`Align center`,()=>e.onAlign?.(`center`))),t.appendChild(Um(`alignRight`,Qm.alignRight,`Align right`,()=>e.onAlign?.(`right`))),t.appendChild(Um(`alignJustify`,Qm.alignJustify,`Justify`,()=>e.onAlign?.(`justify`))),t}function eh(e){let t=Hm();t.appendChild(Um(`blockquote`,`“`,`Blockquote`,e.onBlockquote)),t.appendChild(Um(`codeBlock`,`</>`,`Code block`,e.onCodeBlock));let n=Um(`link`,`⇗`,`Insert link`);th(n,`Enter URL`,`https://`,t=>e.onLink?.(t)),t.appendChild(n);let r=Um(`video`,`▷`,`Insert video`);return th(r,`YouTube URL`,`https://youtube.com/...`,t=>e.onVideo?.(t)),t.appendChild(r),t}function th(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=Nm(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 nh(e){let t=Hm();return t.appendChild(Um(`clearFormatting`,`⊘`,`Clear formatting`,e.onClearFormatting)),t}function rh(e={}){let t=document.createElement(`div`);t.className=`notes-editor-content`;let l={toolbar:void 0,editorElement:t,editor:void 0,getHtml:()=>l.editor&&!l.editor.isEmpty?l.editor.getHTML():``,isEmpty:()=>!l.editor||l.editor.isEmpty,destroy:()=>{l.editor?.destroy(),l.editor=void 0}};l.toolbar=zm({onHeading:e=>{l.editor&&(e===!1?l.editor.chain().focus().setParagraph().run():l.editor.chain().focus().toggleHeading({level:e}).run())},onBold:()=>l.editor?.chain().focus().toggleBold().run(),onItalic:()=>l.editor?.chain().focus().toggleItalic().run(),onUnderline:()=>l.editor?.chain().focus().toggleUnderline().run(),onStrike:()=>l.editor?.chain().focus().toggleStrike().run(),onColor:e=>l.editor?.chain().focus().setColor(e).run(),onBackground:e=>l.editor?.chain().focus().setHighlight({color:e}).run(),onBulletList:()=>l.editor?.chain().focus().toggleBulletList().run(),onOrderedList:()=>l.editor?.chain().focus().toggleOrderedList().run(),onAlign:e=>l.editor?.chain().focus().setTextAlign(e).run(),onBlockquote:()=>l.editor?.chain().focus().toggleBlockquote().run(),onCodeBlock:()=>l.editor?.chain().focus().toggleCodeBlock().run(),onLink:e=>l.editor?.chain().focus().setLink({href:e}).run(),onVideo:e=>l.editor?.commands.setYoutubeVideo({src:e}),onClearFormatting:()=>l.editor?.chain().focus().clearNodes().unsetAllMarks().run()});let u=()=>{if(l.editor){Bm(l.toolbar,{bold:l.editor.isActive(`bold`),italic:l.editor.isActive(`italic`),underline:l.editor.isActive(`underline`),strike:l.editor.isActive(`strike`),orderedList:l.editor.isActive(`orderedList`),bulletList:l.editor.isActive(`bulletList`),blockquote:l.editor.isActive(`blockquote`),codeBlock:l.editor.isActive(`codeBlock`),alignLeft:l.editor.isActive({textAlign:`left`}),alignCenter:l.editor.isActive({textAlign:`center`}),alignRight:l.editor.isActive({textAlign:`right`}),alignJustify:l.editor.isActive({textAlign:`justify`})});for(let e=1;e<=6;e++)if(l.editor.isActive(`heading`,{level:e})){Vm(l.toolbar,e);return}Vm(l.toolbar,!1)}};return requestAnimationFrame(()=>{l.editor=new r.Editor({element:t,extensions:[o.default,i.TextStyle,n.Color,a.default.configure({multicolor:!0}),s.default.configure({types:[`heading`,`paragraph`]}),c.default.configure({inline:!1})],content:e.initialHtml||``,onSelectionUpdate:u,onTransaction:u})}),l}function ih(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}=vn(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 ah(e){return typeof e==`function`}var oh;function sh(e){oh&&=(oh?.destroy(!0),void 0),e?.remove&&e.remove()}function ch(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;sh();let l=document.createElement(`div`),u;return s||=i?.evt?.target,s&&(oh=Nm(s,{content:()=>{c=c?.filter(e=>!e.hide&&!e.disabled).map(e=>({...e,onClick:()=>{sh(l),ah(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?oh.setContent(`IMPLEMENT SUB MENU`):ah(e.onClick)?(sh(l),e.onClick()):ah(a)&&a&&(sh(l),a(typeof e==`object`?{...e,coords:i}:e))}}));let e=[{text:t,items:c},...r];return u=ih(l,e).focusElement,l},theme:`light-border`,trigger:`click`,onShown:()=>{u&&setTimeout(()=>u?.focus(),0)},...o}),oh.show(),oh.setProps({interactive:!0})),oh}var J=`court-line`;function Y(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 lh(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 uh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}function dh(e){let t=lh(`0 0 500 470`,e),n=[Y(`rect`,{x:`0`,y:`0`,width:`500`,height:`470`,class:J}),Y(`circle`,{cx:`250`,cy:`470`,r:`60`,class:J}),Y(`line`,{x1:`0`,y1:`470`,x2:`500`,y2:`470`,class:J}),Y(`rect`,{x:`170`,y:`0`,width:`160`,height:`190`,class:J}),Y(`circle`,{cx:`250`,cy:`190`,r:`60`,class:J}),Y(`line`,{x1:`220`,y1:`40`,x2:`280`,y2:`40`,class:J}),Y(`circle`,{cx:`250`,cy:`52`,r:`12`,class:J}),Y(`path`,{d:`M 30 0 L 30 90 A 220 220 0 0 0 470 90 L 470 0`,class:J})];for(let e of n)t.appendChild(e);return t}function fh(e){let t=lh(`0 0 500 440`,e),n=[Y(`path`,{d:`M 20 170 A 350 400 0 0 1 480 170`,class:J}),Y(`line`,{x1:`250`,y1:`400`,x2:`20`,y2:`170`,class:J}),Y(`line`,{x1:`250`,y1:`400`,x2:`480`,y2:`170`,class:J}),Y(`path`,{d:`M 250 400 L 314 336 L 250 273 L 186 336 Z`,class:J}),Y(`path`,{d:`M 340 355 A 100 100 0 0 1 160 355`,class:J}),Y(`line`,{x1:`340`,y1:`355`,x2:`265`,y2:`405`,class:J}),Y(`line`,{x1:`160`,y1:`355`,x2:`235`,y2:`405`,class:J}),Y(`path`,{d:`M 235 405 A 18 18 0 0 1 265 405`,class:J}),Y(`circle`,{cx:`250`,cy:`340`,r:`9`,class:J}),Y(`line`,{x1:`247`,y1:`339`,x2:`253`,y2:`339`,class:J}),Y(`path`,{d:`M 244 398 L 244 404 L 250 408 L 256 404 L 256 398 Z`,class:J}),Y(`rect`,{x:`310`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 314 336)`,class:J}),Y(`rect`,{x:`246`,y:`269`,width:`8`,height:`8`,transform:`rotate(45 250 273)`,class:J}),Y(`rect`,{x:`182`,y:`332`,width:`8`,height:`8`,transform:`rotate(45 186 336)`,class:J}),Y(`rect`,{x:`230`,y:`393`,width:`8`,height:`18`,class:J}),Y(`rect`,{x:`262`,y:`393`,width:`8`,height:`18`,class:J})];for(let e of n)t.appendChild(e);return t}function ph(e){let t=lh(`0 0 850 2000`,e),n=[Y(`rect`,{x:`0`,y:`0`,width:`850`,height:`2000`,rx:`280`,ry:`280`,class:J}),Y(`line`,{x1:`0`,y1:`1000`,x2:`850`,y2:`1000`,class:J}),Y(`circle`,{cx:`425`,cy:`1000`,r:`60`,class:J}),Y(`line`,{x1:`0`,y1:`650`,x2:`850`,y2:`650`,class:J}),Y(`line`,{x1:`0`,y1:`1350`,x2:`850`,y2:`1350`,class:J}),Y(`line`,{x1:`140`,y1:`300`,x2:`710`,y2:`300`,class:J}),Y(`line`,{x1:`140`,y1:`1700`,x2:`710`,y2:`1700`,class:J}),Y(`path`,{d:`M 395 300 A 40 40 0 0 1 455 300`,class:J}),Y(`path`,{d:`M 395 1700 A 40 40 0 0 0 455 1700`,class:J}),Y(`circle`,{cx:`270`,cy:`650`,r:`50`,class:J}),Y(`circle`,{cx:`580`,cy:`650`,r:`50`,class:J}),Y(`circle`,{cx:`270`,cy:`1350`,r:`50`,class:J}),Y(`circle`,{cx:`580`,cy:`1350`,r:`50`,class:J})];for(let e of n)t.appendChild(e);return t}function mh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}function hh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}function gh(e){let t=lh(`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(Y(`path`,{d:e,class:J}));return t}var _h=`COURT_SVG`,vh={tennis:uh,basketball:dh,baseball:fh,hockey:ph,pickleball:mh,badminton:hh,padel:gh},yh={TENNIS:`tennis`,PADEL:`padel`,PICKLEBALL:`pickleball`,BADMINTON:`badminton`},bh={HAL:`basketball`,INN:`baseball`,PER:`hockey`};function xh(e){if(e){for(let[t,n]of Object.entries(bh))if(e.startsWith(t))return n;if(e.startsWith(`SET`)||e.startsWith(`T`))return e.includes(`@RALLY`)?`pickleball`:`tennis`}}function Sh(e){let t=e?.competitionFormat?.sport;return t&&yh[t]?yh[t]:xh(e?.matchUpFormat)}function Ch(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 wh(e,t=``){let n=e?vh[e]:void 0;if(n)return Ch(n(t?`court--${e} ${t}`:`court--${e}`))}function Th(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 Eh(e){if(!e)return;let t=Th(e);return t.length?t:void 0}function Dh(e){let t=e?.find(Boolean);if(!t)return;let n=t.addresses?.find(Boolean);return n?Eh(n)??t.venueName:t.venueName}var Oh=/^(\d{4})-(\d{2})-(\d{2})/,kh=864e5;function Ah(e){if(!e)return null;let t=Oh.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 jh(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 Mh(e,t){if(!t)return new Date(e.year,e.month-1,e.day+1);let n=jh(e,t),r=new Date(n.getTime()+kh),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 jh({year:a(`year`),month:a(`month`),day:a(`day`)},t)}function Nh(e){if(!e)return null;let t=Ah(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 Ph(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function Fh(e){return e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}function Ih(e,t){if(!e&&!t)return;let n=Nh(e),r=Nh(t),i=!!n&&!Number.isNaN(n.getTime()),a=!!r&&!Number.isNaN(r.getTime());if(!(!i&&!a))return i&&a&&n.getTime()===r.getTime()?Fh(n):i&&a?n.getFullYear()===r.getFullYear()?`${Ph(n)} – ${Ph(r)}, ${r.getFullYear()}`:`${Fh(n)} – ${Fh(r)}`:Fh(i?n:r)}function Lh(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 Rh=`URL`;function zh(e,t){if(!Array.isArray(e))return;let n=e.find(e=>e?.name===t&&e?.resourceType===Rh);return n?.url??n?.identifier}function Bh(e,t){if(Array.isArray(e))return e.find(e=>e?.resourceSubType===`COURT_SVG`&&(!t||e?.name===t))?.identifier}function Vh(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 Hh(...e){for(let t of e){let e=Vh(t);if(e!==void 0)return e}}function Uh(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 Wh={showImage:!0,cornerBadges:[`status`],body:[`title`,`tier`,`location`,`dateRange`],footer:[`feeBadge`,`playerCount`]};function Gh(e){return e?{showImage:e.showImage??Wh.showImage,cornerBadges:e.cornerBadges??Wh.cornerBadges,body:e.body??Wh.body,footer:e.footer??Wh.footer}:Wh}var Kh=()=>`chc-tc-card`,qh=()=>`chc-tc-card--clickable`,Jh=()=>`chc-tc-card--offline`,Yh=()=>`chc-tc-image`,Xh=()=>`chc-tc-image-img`,Zh=()=>`chc-tc-image-svg`,Qh=()=>`chc-tc-image-placeholder`,$h=()=>`chc-tc-corner-badges`,eg=()=>`chc-tc-status-pill`,tg=()=>`chc-tc-offline-badge`,ng=()=>`chc-tc-body`,rg=()=>`chc-tc-title`,ig=()=>`chc-tc-location`,ag=()=>`chc-tc-date-range`,og=()=>`chc-tc-organizer`,sg=()=>`chc-tc-updated-at`,cg=()=>`chc-tc-footer`,lg=()=>`chc-tc-fee-badge`,ug=()=>`chc-tc-player-count`,dg=()=>`chc-tc-event-count`,fg=()=>`chc-tc-tier-badge`,pg=()=>`chc-tc-card chc-tc-skeleton`,mg=()=>`chc-tc-skeleton-line`,hg=()=>`chc-tc-skeleton-block`;function gg(e,t,n){let r=Gh(t),i=document.createElement(`div`);return i.className=Kh(),i.dataset.tournamentId=e.tournamentId,e.offline&&i.classList.add(Jh()),n?.onClick&&(i.classList.add(qh()),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(_g(e,r)),r.body.length&&i.appendChild(Sg(e,r)),r.footer.length&&i.appendChild(Ag(e,r)),i}function _g(e,t){let n=document.createElement(`div`);if(n.className=Yh(),e.tournamentImageURL){let t=document.createElement(`img`);t.className=Xh(),t.src=e.tournamentImageURL,t.alt=e.tournamentName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>yg(n,e)),n.appendChild(t)}else vg(n,e);if(t.cornerBadges.length){let r=bg(e,t.cornerBadges);r&&n.appendChild(r)}return n}function vg(e,t){let n=wh(t.courtSvgSport,Zh());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Qh(),e.appendChild(r)}function yg(e,t){e.querySelector(`.${Xh()}`)?.remove(),vg(e,t)}function bg(e,t){let n=[];for(let r of t){let t=xg(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=$h();for(let e of n)r.appendChild(e);return r}function xg(e,t){if(e===`status`){if(!t.status)return null;let e=document.createElement(`div`);return e.className=eg(),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=tg(),e.textContent=`Offline`,e}return null}function Sg(e,t){let n=document.createElement(`div`);n.className=ng();for(let r of t.body){let t=Cg(r,e);t&&n.appendChild(t)}return n}function Cg(e,t){switch(e){case`title`:return wg(t);case`tier`:return Tg(t);case`location`:return Eg(t);case`dateRange`:return Dg(t);case`organizerName`:return Og(t);case`updatedAt`:return kg(t);default:return null}}function wg(e){if(!e.tournamentName)return null;let t=document.createElement(`div`);return t.className=rg(),t.textContent=e.tournamentName,t.title=e.tournamentName,t}function Tg(e){let t=e.tournamentTier?.value;if(!t)return null;let n=document.createElement(`div`);return n.className=fg(),n.textContent=t,n.title=e.tournamentTier?.system?`${e.tournamentTier.system}: ${t}`:t,n}function Eg(e){if(!e.location)return null;let t=document.createElement(`div`);return t.className=ig(),t.textContent=e.location,t.title=e.location,t}function Dg(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=ag(),t.textContent=e.dateRangeFormatted,t}function Og(e){if(!e.organizerName)return null;let t=document.createElement(`div`);return t.className=og(),t.textContent=e.organizerName,t}function kg(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=sg();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 Ag(e,t){let n=document.createElement(`div`);n.className=cg();for(let r of t.footer){let t=jg(r,e);t&&n.appendChild(t)}return n}function jg(e,t){switch(e){case`feeBadge`:return Mg(t);case`playerCount`:return Ng(t);case`eventCount`:return Pg(t);default:return null}}function Mg(e){if(!e.feeFormatted)return null;let t=document.createElement(`div`);return t.className=lg(),t.textContent=e.feeFormatted,t}function Ng(e){if(typeof e.participantCount!=`number`)return null;let t=document.createElement(`div`);return t.className=ug(),t.textContent=`${e.participantCount} ${e.participantCount===1?`player`:`players`}`,t}function Pg(e){if(typeof e.eventCount!=`number`)return null;let t=document.createElement(`div`);return t.className=dg(),t.textContent=`${e.eventCount} ${e.eventCount===1?`event`:`events`}`,t}function Fg(e){let t=Gh(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:pg(),imageClass:Yh(),bodyClass:ng(),footerClass:cg(),blockClass:hg(),lineClass:mg()})}var Ig=6048e5;function Lg(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Rg(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<n.getTime()}function zg(e){return`Opens ${e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}`}function Bg(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=Ah(e.endDate),a=i?Mh(i,r):null;if(n===`COMPLETED`||a&&t.getTime()>=a.getTime())return{kind:`completed`,label:`Completed`};let o=Ah(e.startDate);if(Rg(t,o?jh(o,r):null,a))return{kind:`live`,label:`Live`};let s=Lg(e.entriesClose);if(s){let e=s.getTime()-t.getTime();if(e>0&&e<=Ig)return{kind:`closing-soon`,label:`Closing Soon`}}let c=Lg(e.entriesOpen);return c&&c.getTime()>t.getTime()?{kind:`registration-opens`,label:zg(c)}:null}var Vg=`–`,Hg={JPY:0,KRW:0,VND:0,CLP:0,ISK:0,KWD:3,BHD:3,OMR:3,JOD:3,TND:3};function Ug({amount:e,currencyCode:t,unit:n}){return n===`MAJOR`?e:e/10**(Hg[t]??2)}function Wg(e,t){try{return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:t}).format(e)}catch{return`${e.toFixed(2)} ${t}`}}function Gg(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 Kg(e){if(!e?.length)return null;let t=Gg(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(Ug).sort((e,t)=>e-t),s=o[0],c=o.at(-1)??s;return r.length>1?`From ${a} ${Wg(s,a)}`:s===c?`${a} ${Wg(s,a)}`:`${a} ${Wg(s,a)} ${Vg} ${Wg(c,a)}`}var qg=`tournamentImage`;function Jg(e){let t=e?.registrationProfile?.entryFees;return Array.isArray(t)?t.filter(e=>e&&typeof e.amount==`number`):[]}function Yg(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 Xg(e){let t=e?.timeItems;if(Array.isArray(t))return t.find(e=>e?.itemType===`TMX`)?.itemValue?.offline}function Zg(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?Bg({tournamentStatus:e?.tournamentStatus,startDate:e?.startDate,endDate:e?.endDate,entriesOpen:e?.registrationProfile?.entriesOpen,entriesClose:e?.registrationProfile?.entriesClose,timeZone:e?.localTimeZone||e?.timeZone},t?.now):t.statusOverride,s=e?.tournamentImageURL??zh(n,qg),c=e?.courtSvgSport??Bh(n);return{tournamentId:e?.tournamentId??``,tournamentName:e?.tournamentName??``,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Ih(e?.startDate,e?.endDate),location:Dh(r),tournamentImageURL:s,courtSvgSport:c,participantCount:Yg(e,i),eventCount:a.length||void 0,organizerName:e?.tournamentOrganizers?.find?.(Boolean)?.organizerName,status:o,feeFormatted:Kg(Jg(e)),updatedAt:e?.updatedAt,offline:Xg(e),tournamentTier:Qg(e)}}function Qg(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 $g={showImage:!0,showMap:!0,cornerBadges:[`primaryBadge`],body:[`title`,`address`,`courtBreakdown`],footer:[`amenityRow`]};function e_(e){return e?{showImage:e.showImage??$g.showImage,showMap:e.showMap??$g.showMap,cornerBadges:e.cornerBadges??$g.cornerBadges,body:e.body??$g.body,footer:e.footer??$g.footer}:$g}var t_=()=>`chc-vc-card`,n_=()=>`chc-vc-card--clickable`,r_=()=>`chc-vc-image`,i_=()=>`chc-vc-image-img`,a_=()=>`chc-vc-image-svg`,o_=()=>`chc-vc-image-map`,s_=()=>`chc-vc-image-placeholder`,c_=()=>`chc-vc-corner-badges`,l_=()=>`chc-vc-primary-badge`,u_=()=>`chc-vc-body`,d_=()=>`chc-vc-title`,f_=()=>`chc-vc-address`,p_=()=>`chc-vc-court-breakdown`,m_=()=>`chc-vc-footer`,h_=()=>`chc-vc-amenity-row`,g_=()=>`chc-vc-amenity`,__=()=>`chc-vc-card chc-vc-skeleton`,v_=()=>`chc-vc-skeleton-line`,y_=()=>`chc-vc-skeleton-block`;function b_(e,t,n){let r=e_(t),i=document.createElement(`div`);i.className=t_(),i.dataset.venueId=e.venueId;let a=null;r.showImage!==!1&&(a=w_(e,r,()=>f()),i.appendChild(a));let o=r.body.length?M_(e,r):null;o&&i.appendChild(o);let s=r.footer.length?I_(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(n_()),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(n_()),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 x_(e){return typeof e.latitude==`number`&&typeof e.longitude==`number`}function S_(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=o_(),a.src=i,a.loading=`lazy`,a.title=`Map of ${e.venueName}`,a}function C_(e,t){let n=wh(t.courtSvgSport,a_());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=s_(),e.appendChild(r)}function w_(e,t,n){let r=document.createElement(`div`);if(r.className=r_(),e.venueImageURL){let i=document.createElement(`img`);i.className=i_(),i.src=e.venueImageURL,i.alt=e.venueName||``,i.loading=`lazy`,i.addEventListener(`error`,()=>{i.remove(),t.showMap!==!1&&x_(e)?r.appendChild(S_(e)):C_(r,e),n?.()}),r.appendChild(i)}else t.showMap!==!1&&x_(e)?r.appendChild(S_(e)):C_(r,e);if(t.cornerBadges.length){let n=E_(e,t.cornerBadges);n&&r.appendChild(n)}return r}function T_(e,t){if(e===`primaryBadge`){if(!t.isPrimary)return null;let e=document.createElement(`div`);return e.className=l_(),e.textContent=`Primary`,e}return null}function E_(e,t){let n=[];for(let r of t){let t=T_(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=c_();for(let e of n)r.appendChild(e);return r}function D_(e){if(!e.venueName)return null;let t=document.createElement(`div`);return t.className=d_(),t.textContent=e.venueName,t.title=e.notes?`${e.venueName}\n${e.notes}`:e.venueName,t}function O_(e){if(!e.addressFormatted)return null;let t=document.createElement(`div`);return t.className=f_(),t.textContent=e.addressFormatted,t.title=e.addressFormatted,t}function k_(e){if(!e.courtBreakdown)return null;let t=document.createElement(`div`);return t.className=p_(),t.textContent=e.courtBreakdown,t}function A_(e){if(!e.venueAbbreviation)return null;let t=document.createElement(`div`);return t.className=p_(),t.textContent=e.venueAbbreviation,t}function j_(e,t){return e===`title`?D_(t):e===`address`?O_(t):e===`courtBreakdown`?k_(t):e===`venueAbbreviation`?A_(t):null}function M_(e,t){let n=document.createElement(`div`);n.className=u_();for(let r of t.body){let t=j_(r,e);t&&n.appendChild(t)}return n}function N_(e){let t=document.createElement(`span`);return t.className=g_(),t.textContent=e,t}function P_(e){let t=[];if(typeof e.courtCount==`number`&&t.push(N_(`${e.courtCount} ${e.courtCount===1?`court`:`courts`}`)),e.indoorCount&&t.push(N_(`${e.indoorCount} indoor`)),e.outdoorCount&&t.push(N_(`${e.outdoorCount} outdoor`)),e.floodlitCount&&t.push(N_(`${e.floodlitCount} lit`)),!t.length)return null;let n=document.createElement(`div`);n.className=h_();for(let e of t)n.appendChild(e);return n}function F_(e,t){return e===`amenityRow`?P_(t):e===`address`?O_(t):e===`courtBreakdown`?k_(t):null}function I_(e,t){let n=document.createElement(`div`);n.className=m_();for(let r of t.footer){let t=F_(r,e);t&&n.appendChild(t)}return n}function L_(e){let t=e_(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:__(),imageClass:r_(),bodyClass:u_(),footerClass:m_(),blockClass:y_(),lineClass:v_()})}var R_=`venueImage`;function z_(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.length?t.join(` `):`court`}function B_(e){if(!e.length)return;let t=new Map;for(let n of e){let e=z_(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 V_(e,t){let n=0;for(let r of e)t(r)&&(n+=1);return n}function H_(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:Eh(i),latitude:Vh(i?.latitude),longitude:Vh(i?.longitude),courtCount:n.length||void 0,courtBreakdown:B_(n),indoorCount:V_(n,e=>e.indoorOutdoor===`INDOOR`)||void 0,outdoorCount:V_(n,e=>e.indoorOutdoor===`OUTDOOR`)||void 0,floodlitCount:V_(n,e=>!!e.floodlit)||void 0,isPrimary:!!e?.isPrimary,venueImageURL:e?.venueImageURL??zh(r,R_),courtSvgSport:e?.courtSvgSport??Bh(r)??t?.sport,notes:e?.notes}}var U_={showImage:!0,cornerBadges:[`indoorOutdoor`,`floodlit`],body:[`title`,`surface`],footer:[`amenityRow`]};function W_(e){return e?{showImage:e.showImage??U_.showImage,cornerBadges:e.cornerBadges??U_.cornerBadges,body:e.body??U_.body,footer:e.footer??U_.footer}:U_}var G_=()=>`chc-cc-card`,K_=()=>`chc-cc-card--clickable`,q_=()=>`chc-cc-image`,J_=()=>`chc-cc-image-svg`,Y_=()=>`chc-cc-image-placeholder`,X_=()=>`chc-cc-corner-badges`,Z_=()=>`chc-cc-indoor-badge`,Q_=()=>`chc-cc-floodlit-badge`,$_=()=>`chc-cc-body`,ev=()=>`chc-cc-title`,tv=()=>`chc-cc-surface`,nv=()=>`chc-cc-availability`,rv=()=>`chc-cc-abbr`,iv=()=>`chc-cc-footer`,av=()=>`chc-cc-amenity-row`,ov=()=>`chc-cc-card chc-cc-skeleton`,sv=()=>`chc-cc-skeleton-line`,cv=()=>`chc-cc-skeleton-block`;function lv(e,t,n){let r=W_(t),i=document.createElement(`div`);return i.className=G_(),i.dataset.courtId=e.courtId,n?.onClick&&(i.classList.add(K_()),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(dv(e,r)),r.body.length&&i.appendChild(xv(e,r)),r.footer.length&&i.appendChild(wv(e,r)),i}function uv(e,t){let n=wh(t.courtSvgSport,J_());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Y_(),e.appendChild(r)}function dv(e,t){let n=document.createElement(`div`);if(n.className=q_(),e.surfaceCategory&&(n.dataset.surface=e.surfaceCategory),uv(n,e),t.cornerBadges.length){let r=hv(e,t.cornerBadges);r&&n.appendChild(r)}return n}function fv(e){if(!e.indoorOutdoor)return null;let t=document.createElement(`div`);return t.className=Z_(),t.dataset.kind=e.indoorOutdoor,t.textContent=e.indoorOutdoor===`INDOOR`?`Indoor`:`Outdoor`,t}function pv(e){if(!e.floodlit)return null;let t=document.createElement(`div`);return t.className=Q_(),t.textContent=`Lit`,t}function mv(e,t){return e===`indoorOutdoor`?fv(t):e===`floodlit`?pv(t):null}function hv(e,t){let n=[];for(let r of t){let t=mv(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=X_();for(let e of n)r.appendChild(e);return r}function gv(e){if(!e.courtName)return null;let t=document.createElement(`div`);return t.className=ev(),t.textContent=e.courtName,t.title=e.notes?`${e.courtName}\n${e.notes}`:e.courtName,t}function _v(e){if(!e.surfaceLabel)return null;let t=document.createElement(`div`);return t.className=tv(),t.textContent=e.surfaceLabel,t}function vv(e){if(!e.availabilitySummary)return null;let t=document.createElement(`div`);return t.className=nv(),t.textContent=e.availabilitySummary,t}function yv(e){if(!e.courtAbbreviation)return null;let t=document.createElement(`div`);return t.className=rv(),t.textContent=e.courtAbbreviation,t}function bv(e,t){return e===`title`?gv(t):e===`surface`?_v(t):e===`availability`?vv(t):e===`abbreviation`?yv(t):null}function xv(e,t){let n=document.createElement(`div`);n.className=$_();for(let r of t.body){let t=bv(r,e);t&&n.appendChild(t)}return n}function Sv(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=av(),n.textContent=t.join(` · `),n}function Cv(e,t){return e===`amenityRow`?Sv(t):e===`availability`?vv(t):e===`surface`?_v(t):null}function wv(e,t){let n=document.createElement(`div`);n.className=iv();for(let r of t.footer){let t=Cv(r,e);t&&n.appendChild(t)}return n}function Tv(e){let t=W_(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:ov(),imageClass:q_(),bodyClass:$_(),footerClass:iv(),blockClass:cv(),lineClass:sv()})}var Ev=`INDOOR`,Dv=`OUTDOOR`,Ov=new Set([`HARD`,`CLAY`,`GRASS`,`ARTIFICIAL`,`CARPET`]);function kv(e){if(!e)return;let t=String(e).toUpperCase();if(t===Ev)return Ev;if(t===Dv)return Dv}function Av(e){let t=e?.surfaceCategory?String(e.surfaceCategory).toUpperCase():void 0;if(t&&Ov.has(t))return t;let n=e?.surfaceType?String(e.surfaceType).toUpperCase():void 0;return n&&Ov.has(n)?n:t}function jv(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 Mv(e,t){let n=kv(e?.indoorOutdoor),r=Av(e);return{courtId:e?.courtId??``,courtName:e?.courtName??``,courtAbbreviation:e?.courtAbbreviation,surfaceLabel:jv(n,r),indoorOutdoor:n,surfaceCategory:r,floodlit:!!e?.floodlit,courtSvgSport:t?.sport,notes:e?.notes}}var Nv={grouping:`setting`,sport:`tennis`,showGroupHeadings:!0,showSummary:!0,minCardWidth:`11rem`,emptyMessage:`No courts recorded for this venue`};function Pv(e){return e?{grouping:e.grouping??Nv.grouping,sport:e.sport??Nv.sport,showGroupHeadings:e.showGroupHeadings??Nv.showGroupHeadings,showSummary:e.showSummary??Nv.showSummary,minCardWidth:e.minCardWidth??Nv.minCardWidth,emptyMessage:e.emptyMessage??Nv.emptyMessage}:Nv}var Fv=()=>`chc-cl`,Iv=()=>`chc-cl-summary`,Lv=()=>`chc-cl-summary-count`,Rv=()=>`chc-cl-group`,zv=()=>`chc-cl-group-heading`,Bv=()=>`chc-cl-group-count`,Vv=()=>`chc-cl-grid`,Hv=()=>`chc-cl-empty`,Uv=`Unspecified`,Wv=`Unspecified surface`;function Gv(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function Kv(e){let t=typeof e.indoorOutdoor==`string`?e.indoorOutdoor.trim():``;return t?Gv(t):Uv}function qv(e){let t=typeof e.surfaceCategory==`string`?e.surfaceCategory.trim():``;return t?Gv(t):Wv}function Jv(e,t){let n=Lh(e);if(t===`none`)return[{key:`all`,label:`All courts`,courts:n}];let r=e=>t===`setting`?Kv(e):t===`surface`?qv(e):`${Kv(e)} · ${qv(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 Yv(e){let t=new Map;for(let n of e){let e=Kv(n),r=qv(n),i=`${e===Uv?``:e.toLowerCase()} ${r===Wv?``: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 Xv(e,t,n){let r=Pv(t),i=e.courts??[],a=document.createElement(`div`);if(a.className=Fv(),e.venueId&&(a.dataset.venueId=e.venueId),!i.length){let e=document.createElement(`div`);return e.className=Hv(),e.textContent=r.emptyMessage,a.appendChild(e),a}r.showSummary&&a.appendChild(Zv(i));for(let e of Jv(i,r.grouping))a.appendChild(Qv(e,r,n));return a}function Zv(e){let t=document.createElement(`div`);t.className=Iv();let n=document.createElement(`span`);n.className=Lv(),n.textContent=`${e.length} ${e.length===1?`court`:`courts`}`;let r=document.createElement(`span`);return r.textContent=Yv(e),t.append(n,r),t}function Qv(e,t,n){let r=document.createElement(`div`);if(r.className=Rv(),r.dataset.group=e.key,t.showGroupHeadings&&t.grouping!==`none`){let t=document.createElement(`div`);t.className=zv();let n=document.createElement(`span`);n.textContent=e.label;let i=document.createElement(`span`);i.className=Bv(),i.textContent=String(e.courts.length),t.append(n,i),r.appendChild(t)}let i=document.createElement(`div`);i.className=Vv(),i.style.setProperty(`--chc-cl-min-card`,t.minCardWidth);for(let r of e.courts)i.appendChild(ey(r,t,n));return r.appendChild(i),r}function $v(e){if(e===`setting`||e===`both`)return{cornerBadges:[`floodlit`]}}function ey(e,t,n){let r=Mv(e,{sport:t.sport}),i=n?.onCourtClick?{onClick:()=>n.onCourtClick?.(e)}:void 0;return lv(r,$v(t.grouping),i)}var ty={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 ny(e){return e?{tiles:e.tiles??ty.tiles,darkTileLayer:e.darkTileLayer===void 0?ty.darkTileLayer:e.darkTileLayer,view:e.view??ty.view,showViewToggle:e.showViewToggle??ty.showViewToggle,zoom:e.zoom??ty.zoom,height:e.height??ty.height,courtsLayout:e.courtsLayout??ty.courtsLayout,showHeader:e.showHeader??ty.showHeader,showPopup:e.showPopup??ty.showPopup,scrollWheelZoom:e.scrollWheelZoom??ty.scrollWheelZoom,darkTiles:e.darkTiles??ty.darkTiles}:ty}var ry=()=>`chc-vl`,iy=()=>`chc-vl-header`,ay=()=>`chc-vl-title`,oy=()=>`chc-vl-address`,sy=()=>`chc-vl-notes`,cy=()=>`chc-vl-body`,ly=()=>`chc-vl-body--below`,uy=()=>`chc-vl-mapwrap`,dy=()=>`chc-vl-map`,fy=()=>`chc-vl-map--invertible`,py=()=>`chc-vl-toggle`,my=()=>`chc-vl-toggle-btn`,hy=()=>`chc-vl-fallback`,gy=()=>`chc-vl-fallback-icon`,_y=()=>`chc-vl-courts`,vy=()=>`chc-vl-courts-title`,yy=()=>`chc-vl-court-list`,by=()=>`chc-vl-court`,xy=()=>`chc-vl-court--clickable`,Sy=()=>`chc-vl-court-name`,Cy=()=>`chc-vl-court-meta`,wy=()=>`chc-vl-pip`,Ty=()=>`chc-vl-marker`,Ey=()=>`chc-vl-popup-title`,Dy=()=>`chc-vl-popup-address`,Oy=`No coordinates for this venue`,ky=`Map unavailable`,Ay=new WeakMap;function jy(e){return Number.isFinite(e.latitude)&&Number.isFinite(e.longitude)}function My(e){return Lh(e)}function Ny(e){let t=[];return e.indoorOutdoor&&t.push(e.indoorOutdoor.toLowerCase()),e.surfaceCategory&&t.push(e.surfaceCategory.toLowerCase()),t.join(` · `)}function Py(e,t,n){let r=ny(t),i=document.createElement(`div`);i.className=ry(),i.dataset.venueId=e.venueId,r.showHeader&&i.appendChild(Iy(e));let a=document.createElement(`div`);a.className=r.courtsLayout===`side`?cy():`${cy()} ${ly()}`;let{wrap:o,mapEl:s}=Ry(e,r,n);a.appendChild(o);let c=e.courts??[];return r.courtsLayout!==`none`&&c.length&&a.appendChild(Vy(c,e,n)),i.appendChild(a),s&&jy(e)&&Uy({root:i,mapEl:s,data:e,cfg:r,callbacks:n}),i}function Fy(e){let t=Ay.get(e);t&&(t(),Ay.delete(e))}function Iy(e){let t=document.createElement(`div`);t.className=iy();let n=document.createElement(`div`);if(n.className=ay(),n.textContent=e.venueName,t.appendChild(n),e.addressFormatted){let n=document.createElement(`div`);n.className=oy(),n.textContent=e.addressFormatted,t.appendChild(n)}if(e.notes){let n=document.createElement(`div`);n.className=sy(),n.textContent=e.notes,t.appendChild(n)}return t}function Ly(e){let t=document.createElement(`div`);t.className=hy();let n=document.createElement(`div`);n.className=gy(),n.textContent=`📍`,n.setAttribute(`aria-hidden`,`true`);let r=document.createElement(`div`);return r.textContent=e,t.append(n,r),t}function Ry(e,t,n){let r=document.createElement(`div`);if(r.className=uy(),r.style.height=t.height,!jy(e))return r.appendChild(Ly(Oy)),{wrap:r,mapEl:null};let i=document.createElement(`div`);i.className=dy(),i.appendChild(Ly(``)),r.appendChild(i);let a=Object.keys(t.tiles);return t.showViewToggle&&a.length>1&&r.appendChild(zy(a,t,n)),{wrap:r,mapEl:i}}function zy(e,t,n){let r=document.createElement(`div`);r.className=py(),r.dataset.viewToggle=`true`;let i=[];for(let a of e){let e=document.createElement(`button`);e.type=`button`,e.className=my(),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 By(e,t,n){let r=!!n?.onCourtClick,i=document.createElement(r?`button`:`div`);i.className=r?`${by()} ${xy()}`:by(),i.dataset.courtId=e.courtId,r&&(i.type=`button`,i.addEventListener(`click`,()=>n?.onCourtClick?.(e,t)));let a=document.createElement(`span`);a.className=Sy(),a.textContent=e.courtName;let o=document.createElement(`span`);o.className=Cy();let s=Ny(e);if(s&&o.append(document.createTextNode(s)),e.floodlit){let e=document.createElement(`span`);e.className=wy(),e.title=`floodlit`,o.appendChild(e)}return i.append(a,o),i}function Vy(e,t,n){let r=document.createElement(`div`);r.className=_y();let i=document.createElement(`div`);i.className=vy(),i.textContent=`Courts (${e.length})`,r.appendChild(i);let a=document.createElement(`div`);a.className=yy();for(let r of My(e))a.appendChild(By(r,t,n));return r.appendChild(a),r}function Hy(e){let t=e=>e.replace(/[&<>"]/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`})[e]),n=e.addressFormatted?`<div class="${Dy()}">${t(e.addressFormatted)}</div>`:``;return`<div class="${Ey()}">${t(e.venueName)}</div>${n}`}async function Uy({root:e,mapEl:t,data:n,cfg:r,callbacks:i}){let a;try{a=await import(`leaflet`)}catch(e){t.replaceChildren(Ly(ky)),i?.onMapUnavailable?.(Error(`leaflet is an optional peerDependency of courthive-components and is not installed`,{cause:e}));return}let o=a.default??a;try{t.replaceChildren();let a=o.map(t,{scrollWheelZoom:r.scrollWheelZoom,attributionControl:!0});a.setView([n.latitude,n.longitude],r.zoom);let s=r.view,c=Yy(o,a,r,s);Xy(t,r,s);let l=e=>{s=e,a.removeLayer(c),c=Yy(o,a,r,e),Xy(t,r,e)},u=o.divIcon({className:``,html:`<div class="${Ty()}"></div>`,iconSize:[14,14]}),d=o.marker([n.latitude,n.longitude],{icon:u}).addTo(a);r.showPopup&&d.bindPopup(Hy(n)),d.on(`click`,()=>i?.onVenueClick?.(n)),e.querySelector(`[data-view-toggle]`)?.addEventListener(`click`,e=>{let t=e.target?.closest(`button[data-view]`);t&&l(t.dataset.view)}),Ky(t);let f=new ResizeObserver(()=>a.invalidateSize());f.observe(t);let p,m=globalThis.document?.documentElement;if(m&&r.darkTiles!==`never`&&r.darkTileLayer){let e=qy();p=new MutationObserver(()=>{let t=qy();t!==e&&(e=t,s!==`satellite`&&l(s))}),p.observe(m,{attributes:!0,attributeFilter:[`data-theme`]})}Ay.set(e,()=>{f.disconnect(),p?.disconnect(),a.remove()})}catch(e){t.replaceChildren(Ly(ky)),i?.onMapUnavailable?.(Error(`Leaflet map failed to initialize`,{cause:e}))}}var Wy=!1;function Gy(e){return e?e!==`relative`&&e!==`absolute`:!1}function Ky(e){Wy||Gy(globalThis.getComputedStyle?.(e)?.position)&&(Wy=!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 qy(){return globalThis.document?.documentElement?.dataset.theme===`dark`}function Jy(e,t,n){let r=e.tiles[t]??e.tiles.map;return t===`satellite`||e.darkTiles===`never`||!n?r:e.darkTileLayer??r}function Yy(e,t,n,r){let i=Jy(n,r,qy());return e.tileLayer(i.tileLayer,{attribution:i.attribution,maxZoom:i.maxZoom??19}).addTo(t)}function Xy(e,t,n){let r=t.darkTiles===`auto`&&n!==`satellite`&&!t.darkTileLayer;e.classList.toggle(fy(),r)}function Zy(...e){for(let t of e)if(typeof t==`number`&&Number.isFinite(t))return t}function Qy(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:Zy(e?.courtOrder),latitude:Hh(e?.latitude),longitude:Hh(e?.longitude)}}function $y(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:Eh(n),latitude:Hh(e?.latitude,n?.latitude),longitude:Hh(e?.longitude,n?.longitude),courts:t.map(Qy),notes:e?.notes}}var eb=()=>`chc-team-card`,tb=()=>`chc-team-card--clickable`,nb=()=>`chc-team-card__title-row`,rb=()=>`chc-team-card__name`,ib=()=>`chc-team-card__nickname`,ab=()=>`chc-team-card__counts`,ob=` · `;function sb(e,t){let n=document.createElement(`div`);n.className=eb(),e.teamId&&(n.dataset.teamId=e.teamId),t?.onClick&&(n.classList.add(tb()),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(cb(e));let r=(e.countSegments??[]).map(e=>(e??``).trim()).filter(Boolean);return r.length&&n.appendChild(lb(r)),n}function cb(e){let t=document.createElement(`div`);t.className=nb();let n=document.createElement(`span`);if(n.className=rb(),n.textContent=e.teamName,t.appendChild(n),e.nickname){let n=document.createElement(`span`);n.className=ib(),n.textContent=`"${e.nickname}"`,t.appendChild(n)}return t}function lb(e){let t=document.createElement(`div`);return t.className=ab(),t.textContent=e.join(ob),t}var ub=[`COMPETITIVE`,`ROUTINE`,`DECISIVE`,`WALKOVER`],db=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]);function fb(){return{COMPETITIVE:0,ROUTINE:0,DECISIVE:0,WALKOVER:0}}function pb(e){let t=fb();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&&db.has(e.matchUpStatus)){t.WALKOVER+=1;continue}let r=e.competitiveProfile?.competitiveness;r&&r!==`WALKOVER`&&ub.includes(r)&&(t[r]+=1)}return t}function mb(e){return ub.reduce((t,n)=>t+e[n],0)}var hb={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`};function gb(e={}){let{onSegmentClick:t}=e,n=document.createElement(`div`);n.className=`chc-cb`;let r={};for(let e of ub){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=mb(e);if(n.style.display=t>0?`flex`:`none`,t)for(let t of ub){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=`${hb[t]}: ${i}`)}},setActive:e=>{n.classList.toggle(`has-active`,!!e);for(let t of ub)r[t].classList.toggle(`is-active`,t===e)}}}var _b={COMPETITIVE:`Competitive`,ROUTINE:`Routine`,DECISIVE:`Decisive`,WALKOVER:`Walkover / Defaulted`},vb=`http://www.w3.org/2000/svg`,yb=96,bb=yb/2,xb=47,Sb=31;function Cb(e,t){return{x:bb+t*Math.cos(e),y:bb+t*Math.sin(e)}}function wb(e,t){let n=Cb(e,xb),r=Cb(t,xb),i=Cb(t,Sb),a=Cb(e,Sb),o=+(t-e>Math.PI);return[`M ${n.x} ${n.y}`,`A ${xb} ${xb} 0 ${o} 1 ${r.x} ${r.y}`,`L ${i.x} ${i.y}`,`A ${Sb} ${Sb} 0 ${o} 0 ${a.x} ${a.y}`,`Z`].join(` `)}function Tb(){let e=Cb(-Math.PI/2,xb),t=Cb(Math.PI/2,xb),n=Cb(-Math.PI/2,Sb),r=Cb(Math.PI/2,Sb);return[`M ${e.x} ${e.y}`,`A ${xb} ${xb} 0 1 1 ${t.x} ${t.y}`,`A ${xb} ${xb} 0 1 1 ${e.x} ${e.y}`,`L ${n.x} ${n.y}`,`A ${Sb} ${Sb} 0 1 0 ${r.x} ${r.y}`,`A ${Sb} ${Sb} 0 1 0 ${n.x} ${n.y}`,`Z`].join(` `)}function Eb(){let e=document.createElement(`div`);e.className=`chc-cd`;let t=document.createElementNS(vb,`svg`);t.setAttribute(`viewBox`,`0 0 ${yb} ${yb}`),t.setAttribute(`class`,`chc-cd__svg`),t.setAttribute(`role`,`img`);let n={};for(let e of ub){let r=document.createElementNS(vb,`path`);r.setAttribute(`class`,`chc-cd__arc`),r.setAttribute(`data-bucket`,e),t.appendChild(r);let i=document.createElementNS(vb,`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=mb(i);if(e.style.display=a>0?`inline-flex`:`none`,!a)return;let o=ub.filter(e=>i[e]>0),s=-Math.PI/2;for(let e of ub){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`,Tb());else{let e=t/a,n=s+e*Math.PI*2;r.setAttribute(`d`,wb(s,n)),s=n}c&&(c.textContent=`${_b[e]}: ${t}`)}r.textContent=String(a),t.setAttribute(`aria-label`,`Competitiveness across ${a} matches`)}}}function Db(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 Ob={cornerBadges:[`status`,`publishedBadge`,`embargoBadge`],body:[`title`,`drawTypeLabel`,`matchUpProgress`],footer:[`drawSize`,`entries`,`matchUpFormat`,`flightNumber`,`ratings`],showVisualization:!1};function kb(e){return e?{cornerBadges:e.cornerBadges??Ob.cornerBadges,body:e.body??Ob.body,footer:e.footer??Ob.footer,showVisualization:e.showVisualization??Ob.showVisualization}:Ob}var Ab=()=>`chc-dc-card`,jb=()=>`chc-dc-card--clickable`,Mb=()=>`chc-dc-corner-badges`,Nb=()=>`chc-dc-status-pill`,Pb=()=>`chc-dc-secondary-badge`,Fb=()=>`chc-dc-body`,Ib=()=>`chc-dc-viz`,Lb=()=>`chc-dc-title-row`,Rb=()=>`chc-dc-title`,zb=()=>`chc-dc-draw-type`,Bb=()=>`chc-dc-meta`,Vb=()=>`chc-dc-footer`,Hb=()=>`chc-dc-chip`,Ub=()=>`chc-dc-progress`,Wb=()=>`chc-dc-progress-bar`,Gb=()=>`chc-dc-progress-fill`,Kb=()=>`chc-dc-card chc-dc-skeleton`,qb=()=>`chc-dc-skeleton-line`;function Jb(e,t,n){let r=kb(t),i=document.createElement(`div`);if(i.className=Ab(),i.dataset.drawId=e.drawId,e.eventId&&(i.dataset.eventId=e.eventId),n?.onClick&&(i.classList.add(jb()),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=Ib(),t.appendChild(e.visualization),i.appendChild(t)}return(r.body.length||r.cornerBadges.length)&&i.appendChild(dx(e,r)),r.footer.length&&i.appendChild(fx(e,r)),i}function Yb(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=Nb(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function Xb(e){if(!e.published)return null;let t=document.createElement(`div`);return t.className=Pb(),t.dataset.kind=`published`,t.textContent=`Published`,t}function Zb(e){if(!e.embargoActive)return null;let t=document.createElement(`div`);return t.className=Pb(),t.dataset.kind=`embargo`,t.textContent=`Embargo`,t}function Qb(e,t){return e===`status`?Yb(t):e===`publishedBadge`?Xb(t):e===`embargoBadge`?Zb(t):null}function $b(e,t){let n=[];for(let r of t){let t=Qb(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=Mb();for(let e of n)r.appendChild(e);return r}function ex(e){if(!e.drawName)return null;let t=document.createElement(`div`);return t.className=Rb(),t.textContent=e.drawName,t.title=e.drawName,t}function tx(e){if(!e.drawTypeLabel)return null;let t=document.createElement(`div`);return t.className=zb(),t.textContent=e.drawTypeLabel,t}function nx(e){let t=document.createElement(`span`);return t.className=Hb(),t.textContent=e,t}function rx(e){return typeof e.drawSize==`number`?nx(`Size ${e.drawSize}`):null}function ix(e){return typeof e.entryCount==`number`?nx(`${e.entryCount} ${e.entryCount===1?`entry`:`entries`}`):null}function ax(e){return e.matchUpFormat?nx(e.matchUpFormat):null}function ox(e){return typeof e.flightNumber==`number`?nx(`Flight ${e.flightNumber}`):null}function sx(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=Bb(),n.textContent=t.join(` · `),n}function cx(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=Ub();let a=document.createElement(`div`);a.className=Bb(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=Wb();let s=document.createElement(`div`);return s.className=Gb(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function lx(e,t){return e===`title`?ex(t):e===`drawTypeLabel`?tx(t):e===`drawSize`?rx(t):e===`entries`?ix(t):e===`matchUpFormat`?ax(t):e===`flightNumber`?ox(t):e===`ratings`?sx(t):e===`matchUpProgress`?cx(t):null}function ux(e,t){let n=document.createElement(`div`);n.className=Lb();let r=ex(e);r&&n.appendChild(r);let i=$b(e,t);return i&&n.appendChild(i),n}function dx(e,t){let n=document.createElement(`div`);n.className=Fb();let r=t.body.includes(`title`),i=t.cornerBadges.length>0;if(i&&!r){let r=$b(e,t.cornerBadges);r&&n.appendChild(r)}for(let r of t.body){if(r===`title`&&i){n.appendChild(ux(e,t.cornerBadges));continue}let a=lx(r,e);a&&n.appendChild(a)}return n}function fx(e,t){let n=document.createElement(`div`);n.className=Vb();for(let r of t.footer){let t=lx(r,e);t&&n.appendChild(t)}return n}function px(){let e=document.createElement(`div`);e.className=Kb();let t=document.createElement(`div`);t.className=Fb();for(let e of[`70%`,`40%`,`85%`]){let n=document.createElement(`div`);n.className=qb(),n.style.width=e,t.appendChild(n)}return e.appendChild(t),e}var mx={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 hx(e){if(e)return mx[e]?mx[e]:e.toLowerCase().split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function gx(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 _x(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 vx(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 yx(e,t){let n=Array.isArray(e?.structures)&&e.structures.length>0,r=t?.matchUpStats??(t?.lightMode||!n?void 0:gx(e)),i=e?.drawStatus===`CANCELLED`,a=t?.statusOverride===void 0?vx({generated:n,cancelled:i,matchUpCounts:r}):t.statusOverride;return{drawId:e?.drawId??``,drawName:e?.drawName??``,drawType:e?.drawType,drawTypeLabel:hx(e?.drawType),drawSize:_x(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 bx={showImage:!0,cornerBadges:[`status`,`eventTypeBadge`,`genderBadge`],body:[`title`,`categoryLabel`,`drawSummary`],footer:[`playerCount`,`matchUpProgress`]},xx=15;function Sx(e){return e?{showImage:e.showImage??bx.showImage,cornerBadges:e.cornerBadges??bx.cornerBadges,body:e.body??bx.body,footer:e.footer??bx.footer}:bx}var Cx=()=>`chc-ec-card`,wx=()=>`chc-ec-card--clickable`,Tx=()=>`chc-ec-image`,Ex=()=>`chc-ec-image-img`,Dx=()=>`chc-ec-image-svg`,Ox=()=>`chc-ec-image-placeholder`,kx=()=>`chc-ec-corner-badges`,Ax=()=>`chc-ec-status-pill`,jx=()=>`chc-ec-eventtype-badge`,Mx=()=>`chc-ec-gender-badge`,Nx=()=>`chc-ec-body`,Px=()=>`chc-ec-title`,Fx=()=>`chc-ec-category`,Ix=()=>`chc-ec-draw-summary`,Lx=()=>`chc-ec-date-range`,Rx=()=>`chc-ec-footer`,zx=()=>`chc-ec-player-count`,Bx=()=>`chc-ec-progress`,Vx=()=>`chc-ec-progress-meta`,Hx=()=>`chc-ec-progress-bar`,Ux=()=>`chc-ec-progress-fill`,Wx=()=>`chc-ec-updated-at`,Gx=()=>`chc-ec-card chc-ec-skeleton`,Kx=()=>`chc-ec-skeleton-line`,qx=()=>`chc-ec-skeleton-block`;function Jx(e,t,n){let r=Sx(t),i=document.createElement(`div`);return i.className=Cx(),i.dataset.eventId=e.eventId,n?.onClick&&(i.classList.add(wx()),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(Xx(e,r)),r.body.length&&i.appendChild(uS(e,r)),r.footer.length&&i.appendChild(dS(e,r)),i}function Yx(e,t){let n=wh(t.courtSvgSport,Dx());if(n){e.appendChild(n);return}let r=document.createElement(`div`);r.className=Ox(),e.appendChild(r)}function Xx(e,t){let n=document.createElement(`div`);if(n.className=Tx(),e.eventImageURL){let t=document.createElement(`img`);t.className=Ex(),t.src=e.eventImageURL,t.alt=e.eventName||``,t.loading=`lazy`,t.addEventListener(`error`,()=>{t.remove(),Yx(n,e)}),n.appendChild(t)}else Yx(n,e);if(t.cornerBadges.length){let r=tS(e,t.cornerBadges);r&&n.appendChild(r)}return n}function Zx(e){if(!e.status)return null;let t=document.createElement(`div`);return t.className=Ax(),t.dataset.kind=e.status.kind,t.textContent=e.status.label,t}function Qx(e){if(!e.eventType)return null;let t=document.createElement(`div`);return t.className=jx(),t.dataset.kind=e.eventType,t.textContent=e.eventType,t}function $x(e){if(!e.gender)return null;let t=document.createElement(`div`);return t.className=Mx(),t.dataset.kind=e.gender,t.textContent=e.gender===`MALE`?`M`:e.gender===`FEMALE`?`W`:`X`,t}function eS(e,t){return e===`status`?Zx(t):e===`eventTypeBadge`?Qx(t):e===`genderBadge`?$x(t):null}function tS(e,t){let n=[];for(let r of t){let t=eS(r,e);t&&n.push(t)}if(!n.length)return null;let r=document.createElement(`div`);r.className=kx();for(let e of n)r.appendChild(e);return r}function nS(e){if(!e.eventName)return null;let t=document.createElement(`div`);return t.className=Px(),t.textContent=e.eventName,t.title=e.eventName,t}function rS(e){if(!e.categoryLabel)return null;let t=document.createElement(`div`);return t.className=Fx(),t.textContent=e.categoryLabel,t}function iS(e){if(!e.drawSummary)return null;let t=document.createElement(`div`);return t.className=Ix(),t.textContent=e.drawSummary,t}function aS(e){if(!e.dateRangeFormatted)return null;let t=document.createElement(`div`);return t.className=Lx(),t.textContent=e.dateRangeFormatted,t}function oS(e){if(!e.updatedAt)return null;let t=document.createElement(`div`);t.className=Wx();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 sS(e){if(typeof e.entryCount!=`number`)return null;let t=document.createElement(`div`);return t.className=zx(),t.textContent=`${e.entryCount} ${e.entryCount===1?`player`:`players`}`,t}function cS(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=Bx();let a=document.createElement(`div`);a.className=Vx(),a.textContent=`${n}/${t} matches · ${r}%`,i.appendChild(a);let o=document.createElement(`div`);o.className=Hx();let s=document.createElement(`div`);return s.className=Ux(),s.style.right=`${100-r}%`,o.appendChild(s),i.appendChild(o),i}function lS(e,t){return e===`title`?nS(t):e===`categoryLabel`?rS(t):e===`drawSummary`?iS(t):e===`dateRange`?aS(t):e===`updatedAt`?oS(t):e===`playerCount`?sS(t):e===`matchUpProgress`?cS(t):null}function uS(e,t){let n=document.createElement(`div`);n.className=Nx();for(let r of t.body){let t=lS(r,e);t&&n.appendChild(t)}return n}function dS(e,t){let n=document.createElement(`div`);n.className=Rx();for(let r of t.footer){let t=lS(r,e);t&&n.appendChild(t)}return n}function fS(e){let t=Sx(e);return Uh({showImage:t.showImage!==!1,bodyLines:t.body.length,showFooter:t.footer.length>0,cardClass:Gx(),imageClass:Tx(),bodyClass:Nx(),footerClass:Rx(),blockClass:qx(),lineClass:Kx()})}function pS(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function mS(e,t,n){return!t||!n?!1:t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function hS(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=pS(e.startDate),i=pS(e.endDate);if(n&&(n.inProgress>0||mS(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 gS=`eventImage`,_S=`DRAFT_STATE`;function vS(e){if(!e)return;let t=String(e).toUpperCase();if(t===`SINGLES`||t===`DOUBLES`||t===`TEAM`||t===`HYBRID`)return t}function yS(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 bS(e){if(!e)return;let t=xS(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=xS(e.ageCategoryCode);if(n)return n;if(e.ratingMin&&e.ratingMax)return`Rating ${e.ratingMin}–${e.ratingMax}`}function xS(e){if(typeof e!=`string`)return;let t=e.trim();if(t&&!/^[-—–_]+$/.test(t))return t}function SS(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 CS(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 wS(e){if(e?.draftState!=null)return!0;let t=e?.extensions;return Array.isArray(t)?t.some(e=>e?.name===_S):!1}function TS(e){return e.some(e=>e?.automated?.seedsOnly===!0||wS(e))}function ES(e){return e.length!==0&&e.every(e=>e?.drawStatus===`CANCELLED`)}var DS=new Set([`DIRECT_ACCEPTANCE`,`DA`,`DIRECT_CONFIRMED`,`DC`,`ACCEPTED`,`A`,`ENTERED`,`PE`,`QUALIFIER`,`Q`,`WILDCARD`,`WC`]);function OS(e){if(!e.length)return 0;let t=0;for(let n of e)DS.has(String(n?.entryStatus))&&(t+=1);return t}function kS(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:CS(e)),o=t?.statusOverride===void 0?hS({allDrawsCancelled:ES(n),drawCount:n.length,entryCount:OS(r),startDate:e?.startDate,endDate:e?.endDate,matchUpCounts:a,hasDraftState:n.some(wS),hasSeedsOnlyDraw:TS(n)},t?.now):t.statusOverride;return{eventId:e?.eventId??``,eventName:e?.eventName??``,eventAbbreviation:e?.eventAbbreviation,categoryLabel:bS(e?.category),eventType:vS(e?.eventType),gender:yS(e?.gender),drawCount:n.length||void 0,drawSummary:SS(n),entryCount:OS(r)||void 0,matchUpCounts:a,startDate:e?.startDate,endDate:e?.endDate,dateRangeFormatted:Ih(e?.startDate,e?.endDate),status:o,eventImageURL:e?.eventImageURL??zh(i,gS),courtSvgSport:e?.courtSvgSport??Bh(i)??t?.sport,updatedAt:e?.updatedAt}}var AS=()=>`chc-hil-container`,jS=()=>`chc-hil-form`,MS=()=>`chc-hil-header`,NS=()=>`chc-hil-title`,PS=()=>`chc-hil-tabs`,FS=()=>`chc-hil-tab`,IS=()=>`chc-hil-tab--active`,LS=()=>`chc-hil-field`,RS=()=>`chc-hil-label`,zS=()=>`chc-hil-input`,BS=()=>`chc-hil-row`,VS=()=>`chc-hil-submit`,HS=()=>`chc-hil-message`,US=()=>`chc-hil-message--error`,WS=()=>`chc-hil-message--success`,GS=()=>`chc-hil-switch-mode`;function KS(e){return e.replace(/\/+$/,``)}async function qS(e,t,n,r=fetch){let i=KS(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 JS(e,t,n){return qS(e,`/auth/hiveid/signup`,t,n)}function YS(e,t,n){return qS(e,`/auth/hiveid/verify-existing`,t,n)}function XS(e,t,n){return qS(e,`/auth/hiveid/magic-link`,t,n)}function ZS(e,t,n){return qS(e,`/auth/hiveid/magic-link/consume`,t,n)}function QS(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 $S=[{value:`M`,label:`Male`},{value:`F`,label:`Female`}],eC=`signup`,tC=`login`,nC=`magic-link`,rC=[eC,tC,nC],iC=`hiveid:authenticated`,aC={[eC]:`Sign up`,[tC]:`Log in`,[nC]:`Email link`},oC={[eC]:`Create your CourtHive identity`,[tC]:`Log in to CourtHive`,[nC]:`Email me a sign-in link`};function sC(e){if(!e?.cfsBaseUrl)throw Error(`buildHiveIDLogin: cfsBaseUrl is required`);let t=e.mode??`signup`,n=!1,r=document.createElement(`div`);r.className=AS(),r.dataset.hiveidLogin=`true`;let i=document.createElement(`div`);i.className=MS();let a=document.createElement(`h2`);a.className=NS(),i.appendChild(a);let o=document.createElement(`div`);o.className=PS(),i.appendChild(o);let s={};rC.forEach(e=>{let t=document.createElement(`button`);t.type=`button`,t.className=FS(),t.textContent=aC[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=jS(),c.noValidate=!0,r.appendChild(c);let l=document.createElement(`div`);l.className=HS(),l.hidden=!0,r.appendChild(l);function u(e,t=`info`){l.textContent=e,l.className=HS(),t===`error`&&l.classList.add(US()),t===`success`&&l.classList.add(WS()),l.hidden=!e}function d(){u(``)}function f(e,t,n=`text`,r=``){let i=document.createElement(`div`);i.className=LS();let a=document.createElement(`label`);a.className=RS(),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=zS(),o.required=!0,i.appendChild(a),i.appendChild(o),c.appendChild(i),o}function p(){let e=document.createElement(`div`);return e.className=BS(),c.appendChild(e),e}function m(e){let t=document.createElement(`button`);return t.type=`submit`,t.className=VS(),t.textContent=e,c.appendChild(t),t}function h(e,t,n){let r=document.createElement(`div`);r.className=GS();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=RS(),t.textContent=e.note,c.appendChild(t)}let t=null;if(e.providers.length>1){let n=document.createElement(`div`);n.className=LS();let r=document.createElement(`label`);r.className=RS(),r.textContent=`Provider`,r.htmlFor=`chc-hil-fedProvider`;let i=document.createElement(`select`);i.id=`chc-hil-fedProvider`,i.className=zS(),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=LS();let r=document.createElement(`label`);r.className=RS(),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=zS(),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=RS(),t.textContent=e.note,c.appendChild(t)}let t=e.required!==!1,n=document.createElement(`div`);n.className=LS();let r=document.createElement(`label`);r.className=RS(),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=zS(),n.append(r,i),c.appendChild(n);let a=document.createElement(`div`);a.className=LS();let o=document.createElement(`label`);o.className=RS(),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=zS();let l=document.createElement(`option`);return l.value=``,l.textContent=`Select…`,s.appendChild(l),(e.sexOptions??$S).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),()=>uC({birthDate:i.value,sex:s.value})}function v(e){r.dispatchEvent(new CustomEvent(iC,{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 JS(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(QS(e)){u(`That email already has a CourtHive account — please verify your password.`,`info`),w(`login`);return}u(fC(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 YS(e.cfsBaseUrl,{email:r,password:i},e.fetchImpl);v({token:t.token,refreshToken:t.refreshToken,personId:t.personId,cached:t.cached??dC()}),u(`Signed in.`,`success`)}catch(e){u(fC(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 XS(e.cfsBaseUrl,{email:n},e.fetchImpl),u(`If ${n} is registered, a sign-in link is on its way.`,`success`)}catch(e){u(fC(e)??`Could not send link. Please try again.`,`error`)}}function C(){if(c.replaceChildren(),a.textContent=oC[t],rC.forEach(e=>{s[e].classList.toggle(IS(),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=zS();let r=document.createElement(`input`);r.id=`chc-hil-lastName`,r.type=`text`,r.placeholder=`Last name`,r.required=!0,r.className=zS();let i=document.createElement(`div`);i.className=LS();let a=document.createElement(`label`);a.textContent=`First name`,a.className=RS(),a.htmlFor=n.id,i.append(a,n);let o=document.createElement(`div`);o.className=LS();let s=document.createElement(`label`);s.textContent=`Last name`,s.className=RS(),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:lC(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(iC,t),()=>r.removeEventListener(iC,t)}return C(),{root:r,setMode:w,getMode:T,onAuthenticated:E}}async function cC(e,t,n){let r=await ZS(e,{code:t},n);return{token:r.token,refreshToken:r.refreshToken,personId:r.personId,cached:r.cached??dC()}}function lC(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 uC(e){let t={},n=e.birthDate?.trim(),r=e.sex?.trim();return n&&(t.birthDate=n),r&&(t.sex=r),t}function dC(){return{standardFamilyName:null,standardGivenName:null,birthDate:null,sex:null,nationalityCode:null}}function fC(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 pC={name:`courthive-components`,packageManager:`pnpm@11.25.0`,version:`4.1.1`,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/*`},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`,"test:watch":`vitest`,"test:ui":`vitest --ui`,dev:`vite`,build:`tsc && vite build`,"check-types":`tsc --noEmit`,prepublishOnly:`pnpm build`,preview:`vite preview`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`,"test-storybook":`test-storybook --url http://localhost:6006`,"deploy-storybook":`gh-pages -d storybook-static`,"pre-commit":`lint-staged`,predeploy:`pnpm build-storybook`,lint:`eslint src --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`},"lint-staged":{"*.{js,ts}":`eslint --cache --fix`,"*":`prettier --ignore-unknown --write`},devDependencies:{"@chromatic-com/storybook":`^5.0.0`,"@commitlint/cli":`21.2.2`,"@commitlint/config-conventional":`21.2.2`,"@eslint/js":`^10.0.1`,"@fortawesome/fontawesome-free":`^7.2.0`,"@storybook/addon-docs":`^10.2.17`,"@storybook/html-vite":`^10.2.17`,"@storybook/test-runner":`^0.24.0`,"@types/d3":`^7.4.3`,"@types/leaflet":`^1.9.12`,"@types/vanillajs-datepicker":`^1.3.5`,"@typescript-eslint/eslint-plugin":`8.68.0`,"@typescript-eslint/parser":`8.68.0`,"@vitest/coverage-v8":`^5.0.0`,"@vitest/ui":`^5.0.0`,eslint:`10.9.1`,"eslint-plugin-sonarjs":`4.2.0`,"eslint-plugin-storybook":`^10.2.17`,"gh-pages":`6.3.0`,globals:`^17.3.0`,"happy-dom":`^20.8.3`,husky:`9.1.7`,leaflet:`1.9.4`,"lint-staged":`17.4.1`,playwright:`^1.57.0`,prettier:`^3.8.1`,semver:`7.8.5`,storybook:`^10.2.17`,"tabulator-tables":`6.5.2`,"tods-competition-factory":`6.37.2`,typescript:`^6.0.2`,vite:`8.2.2`,"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":`^6.0.0`,leaflet:`^1.9.4`},peerDependenciesMeta:{leaflet:{optional:!0}}};function mC(){return pC.version}var hC={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 gC(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&&B(i.onClick)&&i.onClick(),n&&B(n)&&n()},e.appendChild(t)}return{elements:r}}var _C=(e,t)=>n=>n?.trim().length>=e&&(!t||n?.trim().length<=t);function vC(e){return t.tools.isConvertableInteger(e)&&parseInt(e.toString())>=0}var yC=(e,t)=>n=>vC(n)&&Number(n)>=e&&Number(n)<=t,bC=e=>/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{8,12}$/.test(e);function xC(e){return t.tools.dateTime.dateValidation.test(e)}var SC=(e,t)=>n=>{let r=(n||``).trim().split(` `).length;return r>=e&&(!t||r<=t)},CC=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,wC=e=>CC.exec(e),TC=_({dateValidator:()=>xC,emailValidator:()=>wC,nameValidator:()=>_C,numericRange:()=>yC,numericValidator:()=>vC,passwordValidator:()=>bC,wordValidator:()=>SC}),EC=class{constructor({tournamentRecord:e,drawId:n,structureId:r,eventId:i}){this.tournamentRecord=e,this.drawId=n,this.structureId=r,this.eventId=i||e.events?.[0]?.eventId,t.tournamentEngine.setState(e)}setRenderCallback(e){this.renderCallback=e}getDrawEntryParticipantIds(){let{event:e,drawDefinition:n}=t.tournamentEngine.getEvent({drawId:this.drawId})||{};if(!e)return[];let{flightProfile:r}=t.tournamentEngine.getFlightProfile({eventId:this.eventId})||{};return(r?.flights?.find(e=>e.drawId===this.drawId)?.drawEntries||n?.entries||[]).map(e=>e.participantId).filter(Boolean)}getAllParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getDrawEntryParticipantIds();if(!e.length)return[];let{participants:n=[]}=t.tournamentEngine.getParticipants({participantFilters:{participantIds:e}})||{};return n.map(e=>({participantId:e.participantId,participantName:e.participantName,participantType:e.participantType,person:e.person,individualParticipants:e.individualParticipants}))}getAvailableParticipants(){t.tournamentEngine.setState(this.tournamentRecord);let e=this.getAllParticipants(),{assignedParticipantIds:n=[]}=t.tournamentEngine.getAssignedParticipantIds({drawId:this.drawId})||{};return e.filter(e=>!n.includes(e.participantId))}removeAssignment({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=this.getMatchUps().find(t=>t.sides?.some(t=>t.drawPosition===e))?.sides?.find(t=>t.drawPosition===e)?.bye===!0,r=t.tournamentEngine.removeDrawPositionAssignment({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,n&&this.renderCallback&&this.renderCallback(),{success:!0}}assignParticipant({drawPosition:e,participantId:n}){t.tournamentEngine.setState(this.tournamentRecord);let r=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,participantId:n});if(r.error)return{success:!1,error:r.error};let{tournamentRecord:i}=t.tournamentEngine.getState()||{};return this.tournamentRecord=i,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getAndClearFocusDrawPosition(){let e=this.focusDrawPosition;return this.focusDrawPosition=void 0,e}assignBye({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPositionBye({drawId:this.drawId,structureId:this.structureId,drawPosition:e});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}assignQualifier({drawPosition:e}){t.tournamentEngine.setState(this.tournamentRecord);let n=t.tournamentEngine.assignDrawPosition({drawId:this.drawId,structureId:this.structureId,drawPosition:e,qualifier:!0});if(n.error)return{success:!1,error:n.error};let{tournamentRecord:r}=t.tournamentEngine.getState()||{};return this.tournamentRecord=r,this.focusDrawPosition=e+1,this.renderCallback&&this.renderCallback(),{success:!0}}getMatchUps(){t.tournamentEngine.setState(this.tournamentRecord);let{eventData:e}=t.tournamentEngine.getEventData({eventId:this.eventId})||{},n=(e?.drawsData?.find(e=>e.drawId===this.drawId))?.structures?.find(e=>e.structureId===this.structureId)?.roundMatchUps;return n?Object.values(n).flat():[]}getState(){return this.tournamentRecord}getContext(){return{drawId:this.drawId,structureId:this.structureId}}},DC=`<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>`,OC=new WeakMap;function kC(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=DC,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),OC.set(n,i),n.appendChild(r),n}function AC(e){OC.get(e)?.()}function jC(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function MC(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function NC(e){let t,n,r;e.length===2?(t=e===jC||e===MC?e:PC,n=e,r=e):(t=jC,n=(t,n)=>jC(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 PC(){return 0}function FC(e){return e===null?NaN:+e}var IC=NC(jC),LC=IC.right;IC.left,NC(FC).center;function RC(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 zC=class extends Map{constructor(e,t=UC){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(BC(this,e))}has(e){return super.has(BC(this,e))}set(e,t){return super.set(VC(this,e),t)}delete(e){return super.delete(HC(this,e))}};function BC({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function VC({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function HC({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function UC(e){return typeof e==`object`&&e?e.valueOf():e}var WC=Math.sqrt(50),GC=Math.sqrt(10),KC=Math.sqrt(2);function qC(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=WC?10:a>=GC?5:a>=KC?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?qC(e,t,n*2):[s,c,l]}function JC(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?qC(t,e,n):qC(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 YC(e,t,n){return t=+t,e=+e,n=+n,qC(e,t,n)[2]}function XC(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?YC(t,e,n):YC(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ZC(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 QC(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 $C(e){return e}var ew=1,tw=2,nw=3,rw=4,iw=1e-6;function aw(e){return`translate(`+e+`,0)`}function ow(e){return`translate(0,`+e+`)`}function sw(e){return t=>+e(t)}function cw(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function lw(){return!this.__axis}function uw(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===ew||e===rw?-1:1,u=e===rw||e===tw?`x`:`y`,d=e===ew||e===nw?aw:ow;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):$C),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?cw:sw)(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===ew?`0em`:e===nw?`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`,iw).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,iw).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===rw||e===tw?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(lw).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===tw?`start`:e===rw?`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 dw(e){return uw(nw,e)}function fw(e){return uw(rw,e)}var pw={value:()=>{}};function mw(){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 hw(n)}function hw(e){this._=e}function gw(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}})}hw.prototype=mw.prototype={constructor:hw,on:function(e,t){var n=this._,r=gw(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=_w(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]=vw(n[i],e.name,t);else if(t==null)for(i in n)n[i]=vw(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 hw(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 _w(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function vw(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=pw,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var yw={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 bw(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),yw.hasOwnProperty(t)?{space:yw[t],local:e}:e}function xw(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 Sw(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Cw(e){var t=bw(e);return(t.local?Sw:xw)(t)}function ww(){}function Tw(e){return e==null?ww:function(){return this.querySelector(e)}}function Ew(e){typeof e!=`function`&&(e=Tw(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 mE(r,this._parents)}function Dw(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ow(){return[]}function kw(e){return e==null?Ow:function(){return this.querySelectorAll(e)}}function Aw(e){return function(){return Dw(e.apply(this,arguments))}}function jw(e){e=typeof e==`function`?Aw(e):kw(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 mE(r,i)}function Mw(e){return function(){return this.matches(e)}}function Nw(e){return function(t){return t.matches(e)}}var Pw=Array.prototype.find;function Fw(e){return function(){return Pw.call(this.children,e)}}function Iw(){return this.firstElementChild}function Lw(e){return this.select(e==null?Iw:Fw(typeof e==`function`?e:Nw(e)))}var Rw=Array.prototype.filter;function zw(){return Array.from(this.children)}function Bw(e){return function(){return Rw.call(this.children,e)}}function Vw(e){return this.selectAll(e==null?zw:Bw(typeof e==`function`?e:Nw(e)))}function Hw(e){typeof e!=`function`&&(e=Mw(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 mE(r,this._parents)}function Uw(e){return Array(e.length)}function Ww(){return new mE(this._enter||this._groups.map(Uw),this._parents)}function Gw(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Gw.prototype={constructor:Gw,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 Kw(e){return function(){return e}}function qw(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 Gw(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Jw(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 Gw(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Yw(e){return e.__data__}function Xw(e,t){if(!arguments.length)return Array.from(this,Yw);var n=t?Jw:qw,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Kw(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=Zw(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 mE(o,r),o._enter=s,o._exit=c,o}function Zw(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Qw(){return new mE(this._exit||this._groups.map(Uw),this._parents)}function $w(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 eT(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 mE(s,this._parents)}function tT(){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 nT(e){e||=rT;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 mE(i,this._parents).order()}function rT(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function iT(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function aT(){return Array.from(this)}function oT(){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 sT(){let e=0;for(let t of this)++e;return e}function cT(){return!this.node()}function lT(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 uT(e){return function(){this.removeAttribute(e)}}function dT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function fT(e,t){return function(){this.setAttribute(e,t)}}function pT(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function mT(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function hT(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 gT(e,t){var n=bw(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?dT:uT:typeof t==`function`?n.local?hT:mT:n.local?pT:fT)(n,t))}function _T(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function vT(e){return function(){this.style.removeProperty(e)}}function yT(e,t,n){return function(){this.style.setProperty(e,t,n)}}function bT(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function xT(e,t,n){return arguments.length>1?this.each((t==null?vT:typeof t==`function`?bT:yT)(e,t,n??``)):ST(this.node(),e)}function ST(e,t){return e.style.getPropertyValue(t)||_T(e).getComputedStyle(e,null).getPropertyValue(t)}function CT(e){return function(){delete this[e]}}function wT(e,t){return function(){this[e]=t}}function TT(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function ET(e,t){return arguments.length>1?this.each((t==null?CT:typeof t==`function`?TT:wT)(e,t)):this.node()[e]}function DT(e){return e.trim().split(/^|\s+/)}function OT(e){return e.classList||new kT(e)}function kT(e){this._node=e,this._names=DT(e.getAttribute(`class`)||``)}kT.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 AT(e,t){for(var n=OT(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function jT(e,t){for(var n=OT(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function MT(e){return function(){AT(this,e)}}function NT(e){return function(){jT(this,e)}}function PT(e,t){return function(){(t.apply(this,arguments)?AT:jT)(this,e)}}function FT(e,t){var n=DT(e+``);if(arguments.length<2){for(var r=OT(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?PT:t?MT:NT)(n,t))}function IT(){this.textContent=``}function LT(e){return function(){this.textContent=e}}function RT(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function zT(e){return arguments.length?this.each(e==null?IT:(typeof e==`function`?RT:LT)(e)):this.node().textContent}function BT(){this.innerHTML=``}function VT(e){return function(){this.innerHTML=e}}function HT(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function UT(e){return arguments.length?this.each(e==null?BT:(typeof e==`function`?HT:VT)(e)):this.node().innerHTML}function WT(){this.nextSibling&&this.parentNode.appendChild(this)}function GT(){return this.each(WT)}function KT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function qT(){return this.each(KT)}function JT(e){var t=typeof e==`function`?e:Cw(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function YT(){return null}function XT(e,t){var n=typeof e==`function`?e:Cw(e),r=t==null?YT:typeof t==`function`?t:Tw(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ZT(){var e=this.parentNode;e&&e.removeChild(this)}function QT(){return this.each(ZT)}function $T(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function eE(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tE(e){return this.select(e?eE:$T)}function nE(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function rE(e){return function(t){e.call(this,t,this.__data__)}}function iE(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 aE(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 oE(e,t,n){return function(){var r=this.__on,i,a=rE(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 sE(e,t,n){var r=iE(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?oE:aE,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function cE(e,t,n){var r=_T(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 lE(e,t){return function(){return cE(this,e,t)}}function uE(e,t){return function(){return cE(this,e,t.apply(this,arguments))}}function dE(e,t){return this.each((typeof t==`function`?uE:lE)(e,t))}function*fE(){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 pE=[null];function mE(e,t){this._groups=e,this._parents=t}function hE(){return new mE([[document.documentElement]],pE)}function gE(){return this}mE.prototype=hE.prototype={constructor:mE,select:Ew,selectAll:jw,selectChild:Lw,selectChildren:Vw,filter:Hw,data:Xw,enter:Ww,exit:Qw,join:$w,merge:eT,selection:gE,order:tT,sort:nT,call:iT,nodes:aT,node:oT,size:sT,empty:cT,each:lT,attr:gT,style:xT,property:ET,classed:FT,text:zT,html:UT,raise:GT,lower:qT,append:JT,insert:XT,remove:QT,clone:tE,datum:nE,on:sE,dispatch:dE,[Symbol.iterator]:fE};function _E(e){return typeof e==`string`?new mE([[document.querySelector(e)]],[document.documentElement]):new mE([[e]],pE)}function vE(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function yE(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function bE(){}var xE=.7,SE=1/xE,CE=`\\s*([+-]?\\d+)\\s*`,wE=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,TE=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,EE=/^#([0-9a-f]{3,8})$/,DE=RegExp(`^rgb\\(${CE},${CE},${CE}\\)$`),OE=RegExp(`^rgb\\(${TE},${TE},${TE}\\)$`),kE=RegExp(`^rgba\\(${CE},${CE},${CE},${wE}\\)$`),AE=RegExp(`^rgba\\(${TE},${TE},${TE},${wE}\\)$`),jE=RegExp(`^hsl\\(${wE},${TE},${TE}\\)$`),ME=RegExp(`^hsla\\(${wE},${TE},${TE},${wE}\\)$`),NE={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};vE(bE,RE,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:PE,formatHex:PE,formatHex8:FE,formatHsl:IE,formatRgb:LE,toString:LE});function PE(){return this.rgb().formatHex()}function FE(){return this.rgb().formatHex8()}function IE(){return ZE(this).formatHsl()}function LE(){return this.rgb().formatRgb()}function RE(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=EE.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?zE(t):n===3?new UE(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?BE(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?BE(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=DE.exec(e))?new UE(t[1],t[2],t[3],1):(t=OE.exec(e))?new UE(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kE.exec(e))?BE(t[1],t[2],t[3],t[4]):(t=AE.exec(e))?BE(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=jE.exec(e))?XE(t[1],t[2]/100,t[3]/100,1):(t=ME.exec(e))?XE(t[1],t[2]/100,t[3]/100,t[4]):NE.hasOwnProperty(e)?zE(NE[e]):e===`transparent`?new UE(NaN,NaN,NaN,0):null}function zE(e){return new UE(e>>16&255,e>>8&255,e&255,1)}function BE(e,t,n,r){return r<=0&&(e=t=n=NaN),new UE(e,t,n,r)}function VE(e){return e instanceof bE||(e=RE(e)),e?(e=e.rgb(),new UE(e.r,e.g,e.b,e.opacity)):new UE}function HE(e,t,n,r){return arguments.length===1?VE(e):new UE(e,t,n,r??1)}function UE(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}vE(UE,HE,yE(bE,{brighter(e){return e=e==null?SE:SE**+e,new UE(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xE:xE**+e,new UE(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new UE(JE(this.r),JE(this.g),JE(this.b),qE(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:WE,formatHex:WE,formatHex8:GE,formatRgb:KE,toString:KE}));function WE(){return`#${YE(this.r)}${YE(this.g)}${YE(this.b)}`}function GE(){return`#${YE(this.r)}${YE(this.g)}${YE(this.b)}${YE((isNaN(this.opacity)?1:this.opacity)*255)}`}function KE(){let e=qE(this.opacity);return`${e===1?`rgb(`:`rgba(`}${JE(this.r)}, ${JE(this.g)}, ${JE(this.b)}${e===1?`)`:`, ${e})`}`}function qE(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function JE(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function YE(e){return e=JE(e),(e<16?`0`:``)+e.toString(16)}function XE(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $E(e,t,n,r)}function ZE(e){if(e instanceof $E)return new $E(e.h,e.s,e.l,e.opacity);if(e instanceof bE||(e=RE(e)),!e)return new $E;if(e instanceof $E)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 $E(o,s,c,e.opacity)}function QE(e,t,n,r){return arguments.length===1?ZE(e):new $E(e,t,n,r??1)}function $E(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}vE($E,QE,yE(bE,{brighter(e){return e=e==null?SE:SE**+e,new $E(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xE:xE**+e,new $E(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 UE(nD(e>=240?e-240:e+120,i,r),nD(e,i,r),nD(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new $E(eD(this.h),tD(this.s),tD(this.l),qE(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=qE(this.opacity);return`${e===1?`hsl(`:`hsla(`}${eD(this.h)}, ${tD(this.s)*100}%, ${tD(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function eD(e){return e=(e||0)%360,e<0?e+360:e}function tD(e){return Math.max(0,Math.min(1,e||0))}function nD(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 rD=e=>()=>e;function iD(e,t){return function(n){return e+n*t}}function aD(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function oD(e){return(e=+e)==1?sD:function(t,n){return n-t?aD(t,n,e):rD(isNaN(t)?n:t)}}function sD(e,t){var n=t-e;return n?iD(e,n):rD(isNaN(e)?t:e)}var cD=(function e(t){var n=oD(t);function r(e,t){var r=n((e=HE(e)).r,(t=HE(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=sD(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 lD(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 uD(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function dD(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=bD(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 fD(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function pD(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function mD(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]=bD(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var hD=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,gD=new RegExp(hD.source,`g`);function _D(e){return function(){return e}}function vD(e){return function(t){return e(t)+``}}function yD(e,t){var n=hD.lastIndex=gD.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=hD.exec(e))&&(i=gD.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:pD(r,i)})),n=gD.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?vD(c[0].x):_D(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 bD(e,t){var n=typeof t,r;return t==null||n===`boolean`?rD(t):(n===`number`?pD:n===`string`?(r=RE(t))?(t=r,cD):yD:t instanceof RE?cD:t instanceof Date?fD:uD(t)?lD:Array.isArray(t)?dD:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?mD:pD)(e,t)}function xD(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var SD=180/Math.PI,CD={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wD(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)*SD,skewX:Math.atan(c)*SD,scaleX:o,scaleY:s}}var TD;function ED(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?CD:wD(t.a,t.b,t.c,t.d,t.e,t.f)}function DD(e){return e==null||(TD||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),TD.setAttribute(`transform`,e),!(e=TD.transform.baseVal.consolidate()))?CD:(e=e.matrix,wD(e.a,e.b,e.c,e.d,e.e,e.f))}function OD(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:pD(e,i)},{i:c-2,x:pD(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:pD(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:pD(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:pD(e,n)},{i:s-2,x:pD(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 kD=OD(ED,`px, `,`px)`,`deg)`),AD=OD(DD,`, `,`)`,`)`),jD=0,MD=0,ND=0,PD=1e3,FD,ID,LD=0,RD=0,zD=0,BD=typeof performance==`object`&&performance.now?performance:Date,VD=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function HD(){return RD||=(VD(UD),BD.now()+zD)}function UD(){RD=0}function WD(){this._call=this._time=this._next=null}WD.prototype=GD.prototype={constructor:WD,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?HD():+n)+(t==null?0:+t),!this._next&&ID!==this&&(ID?ID._next=this:FD=this,ID=this),this._call=e,this._time=n,XD()},stop:function(){this._call&&(this._call=null,this._time=1/0,XD())}};function GD(e,t,n){var r=new WD;return r.restart(e,t,n),r}function KD(){HD(),++jD;for(var e=FD,t;e;)(t=RD-e._time)>=0&&e._call.call(void 0,t),e=e._next;--jD}function qD(){RD=(LD=BD.now())+zD,jD=MD=0;try{KD()}finally{jD=0,YD(),RD=0}}function JD(){var e=BD.now(),t=e-LD;t>PD&&(zD-=t,LD=e)}function YD(){for(var e,t=FD,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:FD=n);ID=e,XD(r)}function XD(e){jD||(MD&&=clearTimeout(MD),e-RD>24?(e<1/0&&(MD=setTimeout(qD,e-BD.now()-zD)),ND&&=clearInterval(ND)):(ND||=(LD=BD.now(),setInterval(JD,PD)),jD=1,VD(qD)))}function ZD(e,t,n){var r=new WD;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var QD=mw(`start`,`end`,`cancel`,`interrupt`),$D=[];function eO(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;iO(e,n,{name:t,index:r,group:i,on:QD,tween:$D,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function tO(e,t){var n=rO(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function nO(e,t){var n=rO(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function rO(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function iO(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=GD(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 ZD(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(ZD(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 aO(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 oO(e){return this.each(function(){aO(this,e)})}function sO(e,t){var n,r;return function(){var i=nO(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 cO(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=nO(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 lO(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=rO(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?sO:cO)(n,e,t))}function uO(e,t,n){var r=e._id;return e.each(function(){var e=nO(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return rO(e,r).value[t]}}function dO(e,t){var n;return(typeof t==`number`?pD:t instanceof RE?cD:(n=RE(t))?(t=n,cD):yD)(e,t)}function fO(e){return function(){this.removeAttribute(e)}}function pO(e){return function(){this.removeAttributeNS(e.space,e.local)}}function mO(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 hO(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 gO(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 _O(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 vO(e,t){var n=bw(e),r=n===`transform`?AD:dO;return this.attrTween(e,typeof t==`function`?(n.local?_O:gO)(n,r,uO(this,`attr.`+e,t)):t==null?(n.local?pO:fO)(n):(n.local?hO:mO)(n,r,t))}function yO(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function bO(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function xO(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&bO(e,i)),n}return i._value=t,i}function SO(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&yO(e,i)),n}return i._value=t,i}function CO(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=bw(e);return this.tween(n,(r.local?xO:SO)(r,t))}function wO(e,t){return function(){tO(this,e).delay=+t.apply(this,arguments)}}function TO(e,t){return t=+t,function(){tO(this,e).delay=t}}function EO(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?wO:TO)(t,e)):rO(this.node(),t).delay}function DO(e,t){return function(){nO(this,e).duration=+t.apply(this,arguments)}}function OO(e,t){return t=+t,function(){nO(this,e).duration=t}}function kO(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?DO:OO)(t,e)):rO(this.node(),t).duration}function AO(e,t){if(typeof t!=`function`)throw Error();return function(){nO(this,e).ease=t}}function jO(e){var t=this._id;return arguments.length?this.each(AO(t,e)):rO(this.node(),t).ease}function MO(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();nO(this,e).ease=n}}function NO(e){if(typeof e!=`function`)throw Error();return this.each(MO(this._id,e))}function PO(e){typeof e!=`function`&&(e=Mw(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 lk(r,this._parents,this._name,this._id)}function FO(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 lk(o,this._parents,this._name,this._id)}function IO(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 LO(e,t,n){var r,i,a=IO(t)?tO:nO;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function RO(e,t){var n=this._id;return arguments.length<2?rO(this.node(),n).on.on(e):this.each(LO(n,e,t))}function zO(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function BO(){return this.on(`end.remove`,zO(this._id))}function VO(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Tw(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,eO(l[f],t,n,f,l,rO(u,n)));return new lk(a,this._parents,t,n)}function HO(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=kw(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=rO(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&eO(p,t,n,h,f,m);a.push(f),o.push(u)}return new lk(a,o,t,n)}var UO=hE.prototype.constructor;function WO(){return new UO(this._groups,this._parents)}function GO(e,t){var n,r,i;return function(){var a=ST(this,e),o=(this.style.removeProperty(e),ST(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function KO(e){return function(){this.style.removeProperty(e)}}function qO(e,t,n){var r,i=n+``,a;return function(){var o=ST(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function JO(e,t,n){var r,i,a;return function(){var o=ST(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),ST(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function YO(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=nO(this,e),l=c.on,u=c.value[a]==null?s||=KO(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function XO(e,t,n){var r=(e+=``)==`transform`?kD:dO;return t==null?this.styleTween(e,GO(e,r)).on(`end.style.`+e,KO(e)):typeof t==`function`?this.styleTween(e,JO(e,r,uO(this,`style.`+e,t))).each(YO(this._id,e)):this.styleTween(e,qO(e,r,t),n).on(`end.style.`+e,null)}function ZO(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function QO(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&ZO(e,a,n)),r}return a._value=t,a}function $O(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,QO(e,t,n??``))}function ek(e){return function(){this.textContent=e}}function tk(e){return function(){var t=e(this);this.textContent=t??``}}function nk(e){return this.tween(`text`,typeof e==`function`?tk(uO(this,`text`,e)):ek(e==null?``:e+``))}function rk(e){return function(t){this.textContent=e.call(this,t)}}function ik(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&rk(r)),t}return r._value=e,r}function ak(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,ik(e))}function ok(){for(var e=this._name,t=this._id,n=uk(),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=rO(c,t);eO(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new lk(r,this._parents,e,n)}function sk(){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=nO(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 ck=0;function lk(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function uk(){return++ck}var dk=hE.prototype;lk.prototype={constructor:lk,select:VO,selectAll:HO,selectChild:dk.selectChild,selectChildren:dk.selectChildren,filter:PO,merge:FO,selection:WO,transition:ok,call:dk.call,nodes:dk.nodes,node:dk.node,size:dk.size,empty:dk.empty,each:dk.each,on:RO,attr:vO,attrTween:CO,style:XO,styleTween:$O,text:nk,textTween:ak,remove:BO,tween:lO,delay:EO,duration:kO,ease:jO,easeVarying:NO,end:sk,[Symbol.iterator]:dk[Symbol.iterator]};function fk(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var pk={time:null,delay:0,duration:250,ease:fk};function mk(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function hk(e){var t,n;e instanceof lk?(t=e._id,e=e._name):(t=uk(),(n=pk).time=HD(),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])&&eO(c,e,t,l,o,n||mk(c,t));return new lk(r,this._parents,e,t)}hE.prototype.interrupt=oO,hE.prototype.transition=hk;var{abs:gk,max:_k,min:vk}=Math;[`w`,`e`].map(yk),[`n`,`s`].map(yk),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(yk);function yk(e){return{type:e}}var bk=Math.PI,xk=2*bk,Sk=1e-6,Ck=xk-Sk;function wk(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Tk(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return wk;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 Ek=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?wk:Tk(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>Sk){if(!(Math.abs(u*s-c*l)>Sk)||!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((bk-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Sk&&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)>Sk||Math.abs(this._y1-l)>Sk)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%xk+xk),d>Ck?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>Sk&&this._append`A${n},${n},0,${+(d>=bk)},${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._}};Ek.prototype;function Dk(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Ok(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 kk(e){return e=Ok(Math.abs(e)),e?e[1]:NaN}function Ak(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 jk(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Mk=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Nk(e){if(!(t=Mk.exec(e)))throw Error(`invalid format: `+e);var t;return new Pk({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]})}Nk.prototype=Pk.prototype;function Pk(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+``}Pk.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 Fk(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 Ik;function Lk(e,t){var n=Ok(e,t);if(!n)return Ik=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Ik=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`)+Ok(e,Math.max(0,t+a-1))[0]}function Rk(e,t){var n=Ok(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 zk={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Dk,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)=>Rk(e*100,t),r:Rk,s:Lk,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Bk(e){return e}var Vk=Array.prototype.map,Hk=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Uk(e){var t=e.grouping===void 0||e.thousands===void 0?Bk:Ak(Vk.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?Bk:jk(Vk.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=Nk(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`):zk[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=zk[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=Fk(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Ik!==void 0?Hk[8+Ik/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(kk(t)/3)))*3,r=10**-n,i=l((e=Nk(e),e.type=`f`,e),{suffix:Hk[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Wk,Gk,Kk;qk({thousands:`,`,grouping:[3],currency:[`$`,``]});function qk(e){return Wk=Uk(e),Gk=Wk.format,Kk=Wk.formatPrefix,Wk}function Jk(e){return Math.max(0,-kk(Math.abs(e)))}function Yk(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(kk(t)/3)))*3-kk(Math.abs(e)))}function Xk(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,kk(t)-kk(e))+1}function Zk(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 Qk(){return this.eachAfter(Zk)}function $k(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function eA(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 tA(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 nA(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function rA(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 iA(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function aA(e){for(var t=this,n=oA(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 oA(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 sA(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function cA(){return Array.from(this)}function lA(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function uA(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*dA(){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 fA(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=hA)):t===void 0&&(t=mA);for(var n=new vA(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 vA(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(_A)}function pA(){return fA(this).eachBefore(gA)}function mA(e){return e.children}function hA(e){return Array.isArray(e)?e[1]:null}function gA(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function _A(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function vA(e){this.data=e,this.depth=this.height=0,this.parent=null}vA.prototype=fA.prototype={constructor:vA,count:Qk,each:$k,eachAfter:tA,eachBefore:eA,find:nA,sum:rA,sort:iA,path:aA,ancestors:sA,descendants:cA,leaves:lA,links:uA,copy:pA,[Symbol.iterator]:dA};function yA(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 bA(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 xA(){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(yA),i}function a(e,t){return function(r){r.children&&bA(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 SA(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var CA=Symbol(`implicit`);function wA(){var e=new zC,t=[],n=[],r=CA;function i(i){let a=e.get(i);if(a===void 0){if(r!==CA)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 zC;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 wA(t,n).unknown(r)},SA.apply(i,arguments),i}function TA(){var e=wA().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=QC(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 TA(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},SA.apply(d(),arguments)}function EA(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return EA(t())},e}function DA(){return EA(TA.apply(null,arguments).paddingInner(1))}function OA(e){return function(){return e}}function kA(e){return+e}var AA=[0,1];function jA(e){return e}function MA(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:OA(isNaN(t)?NaN:.5)}function NA(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function PA(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=MA(i,r),a=n(o,a)):(r=MA(r,i),a=n(a,o)),function(e){return a(r(e))}}function FA(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]=MA(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=LC(e,t,1,r)-1;return a[n](i[n](t))}}function IA(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function LA(){var e=AA,t=AA,n=bD,r,i,a,o=jA,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==jA&&(o=NA(e[0],e[n-1])),s=n>2?FA:PA,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),pD))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,kA),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=xD,u()},d.clamp=function(e){return arguments.length?(o=e?!0:jA,u()):o!==jA},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 RA(){return LA()(jA,jA)}function zA(e,t,n,r){var i=XC(e,t,n),a;switch(r=Nk(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Yk(i,o))&&(r.precision=a),Kk(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Xk(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Jk(i))&&(r.precision=a-(r.type===`%`)*2)}return Gk(r)}function BA(e){var t=e.domain;return e.ticks=function(e){var n=t();return JC(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return zA(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=YC(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 VA(){var e=RA();return e.copy=function(){return IA(e,VA())},SA.apply(e,arguments),BA(e)}function HA(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 UA=new Date,WA=new Date;function GA(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=>GA(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)=>(UA.setTime(+t),WA.setTime(+r),e(UA),e(WA),Math.floor(n(UA,WA))),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 KA=GA(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);KA.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?GA(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):KA),KA.range;var qA=1e3,JA=qA*60,YA=JA*60,XA=YA*24,ZA=XA*7,QA=XA*30,$A=XA*365,ej=GA(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*qA)},(e,t)=>(t-e)/qA,e=>e.getUTCSeconds());ej.range;var tj=GA(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*qA)},(e,t)=>{e.setTime(+e+t*JA)},(e,t)=>(t-e)/JA,e=>e.getMinutes());tj.range;var nj=GA(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*JA)},(e,t)=>(t-e)/JA,e=>e.getUTCMinutes());nj.range;var rj=GA(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*qA-e.getMinutes()*JA)},(e,t)=>{e.setTime(+e+t*YA)},(e,t)=>(t-e)/YA,e=>e.getHours());rj.range;var ij=GA(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*YA)},(e,t)=>(t-e)/YA,e=>e.getUTCHours());ij.range;var aj=GA(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*JA)/XA,e=>e.getDate()-1);aj.range;var oj=GA(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/XA,e=>e.getUTCDate()-1);oj.range;var sj=GA(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/XA,e=>Math.floor(e/XA));sj.range;function cj(e){return GA(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())*JA)/ZA)}var lj=cj(0),uj=cj(1),dj=cj(2),fj=cj(3),pj=cj(4),mj=cj(5),hj=cj(6);lj.range,uj.range,dj.range,fj.range,pj.range,mj.range,hj.range;function gj(e){return GA(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)/ZA)}var _j=gj(0),vj=gj(1),yj=gj(2),bj=gj(3),xj=gj(4),Sj=gj(5),Cj=gj(6);_j.range,vj.range,yj.range,bj.range,xj.range,Sj.range,Cj.range;var wj=GA(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());wj.range;var Tj=GA(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());Tj.range;var Ej=GA(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());Ej.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:GA(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)}),Ej.range;var Dj=GA(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());Dj.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:GA(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)}),Dj.range;function Oj(e,t,n,r,i,a){let o=[[ej,1,qA],[ej,5,5*qA],[ej,15,15*qA],[ej,30,30*qA],[a,1,JA],[a,5,5*JA],[a,15,15*JA],[a,30,30*JA],[i,1,YA],[i,3,3*YA],[i,6,6*YA],[i,12,12*YA],[r,1,XA],[r,2,2*XA],[n,1,ZA],[t,1,QA],[t,3,3*QA],[e,1,$A]];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=NC(([,,e])=>e).right(o,i);if(a===o.length)return e.every(XC(t/$A,n/$A,r));if(a===0)return KA.every(Math.max(XC(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[kj,Aj]=Oj(Dj,Tj,_j,sj,ij,nj),[jj,Mj]=Oj(Ej,wj,lj,aj,rj,tj);function Nj(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 Pj(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 Fj(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function Ij(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=Hj(i),u=Uj(i),d=Hj(a),f=Uj(a),p=Hj(o),m=Uj(o),h=Hj(s),g=Uj(s),_=Hj(c),v=Uj(c),y={a:N,A:P,b:F,B:ee,c:null,d:uM,e:uM,f:hM,g:EM,G:OM,H:dM,I:fM,j:pM,L:mM,m:gM,M:_M,p:te,q:I,Q:ZM,s:QM,S:vM,u:yM,U:bM,V:SM,w:CM,W:wM,x:null,X:null,y:TM,Y:DM,Z:kM,"%":XM},b={a:L,A:ne,b:re,B:R,c:null,d:AM,e:AM,f:FM,g:KM,G:JM,H:jM,I:MM,j:NM,L:PM,m:IM,M:LM,p:ie,q:z,Q:ZM,s:QM,S:RM,u:zM,U:BM,V:HM,w:UM,W:WM,x:null,X:null,y:GM,Y:qM,Z:YM,"%":XM},x={a:E,A:D,b:O,B:k,c:A,d:eM,e:eM,f:oM,g:Xj,G:Yj,H:nM,I:nM,j:tM,L:aM,m:$j,M:rM,p:T,q:Qj,Q:cM,s:lM,S:iM,u:Gj,U:Kj,V:qj,w:Wj,W:Jj,x:j,X:M,y:Xj,Y:Yj,Z:Zj,"%":sM};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=Lj[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=Fj(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=Pj(Fj(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?vj.ceil(a):vj(a),a=oj.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=Nj(Fj(r.y,0,1)),o=a.getDay(),a=o>4||o===0?uj.ceil(a):uj(a),a=aj.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?Pj(Fj(r.y,0,1)).getUTCDay():Nj(Fj(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,Pj(r)):Nj(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 Lj?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 ee(e){return s[e.getMonth()]}function te(e){return i[+(e.getHours()>=12)]}function I(e){return 1+~~(e.getMonth()/3)}function L(e){return o[e.getUTCDay()]}function ne(e){return a[e.getUTCDay()]}function re(e){return c[e.getUTCMonth()]}function R(e){return s[e.getUTCMonth()]}function ie(e){return i[+(e.getUTCHours()>=12)]}function z(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 Lj={"-":``,_:` `,0:`0`},Rj=/^\s*\d+/,zj=/^%/,Bj=/[\\^$*+?|[\]().{}]/g;function X(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 Vj(e){return e.replace(Bj,`\\$&`)}function Hj(e){return RegExp(`^(?:`+e.map(Vj).join(`|`)+`)`,`i`)}function Uj(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Wj(e,t,n){var r=Rj.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Gj(e,t,n){var r=Rj.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Kj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function qj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Jj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Yj(e,t,n){var r=Rj.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Xj(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Zj(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 Qj(e,t,n){var r=Rj.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function $j(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function eM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function tM(e,t,n){var r=Rj.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function nM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function rM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function iM(e,t,n){var r=Rj.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function aM(e,t,n){var r=Rj.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function oM(e,t,n){var r=Rj.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function sM(e,t,n){var r=zj.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function cM(e,t,n){var r=Rj.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function lM(e,t,n){var r=Rj.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function uM(e,t){return X(e.getDate(),t,2)}function dM(e,t){return X(e.getHours(),t,2)}function fM(e,t){return X(e.getHours()%12||12,t,2)}function pM(e,t){return X(1+aj.count(Ej(e),e),t,3)}function mM(e,t){return X(e.getMilliseconds(),t,3)}function hM(e,t){return mM(e,t)+`000`}function gM(e,t){return X(e.getMonth()+1,t,2)}function _M(e,t){return X(e.getMinutes(),t,2)}function vM(e,t){return X(e.getSeconds(),t,2)}function yM(e){var t=e.getDay();return t===0?7:t}function bM(e,t){return X(lj.count(Ej(e)-1,e),t,2)}function xM(e){var t=e.getDay();return t>=4||t===0?pj(e):pj.ceil(e)}function SM(e,t){return e=xM(e),X(pj.count(Ej(e),e)+(Ej(e).getDay()===4),t,2)}function CM(e){return e.getDay()}function wM(e,t){return X(uj.count(Ej(e)-1,e),t,2)}function TM(e,t){return X(e.getFullYear()%100,t,2)}function EM(e,t){return e=xM(e),X(e.getFullYear()%100,t,2)}function DM(e,t){return X(e.getFullYear()%1e4,t,4)}function OM(e,t){var n=e.getDay();return e=n>=4||n===0?pj(e):pj.ceil(e),X(e.getFullYear()%1e4,t,4)}function kM(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+X(t/60|0,`0`,2)+X(t%60,`0`,2)}function AM(e,t){return X(e.getUTCDate(),t,2)}function jM(e,t){return X(e.getUTCHours(),t,2)}function MM(e,t){return X(e.getUTCHours()%12||12,t,2)}function NM(e,t){return X(1+oj.count(Dj(e),e),t,3)}function PM(e,t){return X(e.getUTCMilliseconds(),t,3)}function FM(e,t){return PM(e,t)+`000`}function IM(e,t){return X(e.getUTCMonth()+1,t,2)}function LM(e,t){return X(e.getUTCMinutes(),t,2)}function RM(e,t){return X(e.getUTCSeconds(),t,2)}function zM(e){var t=e.getUTCDay();return t===0?7:t}function BM(e,t){return X(_j.count(Dj(e)-1,e),t,2)}function VM(e){var t=e.getUTCDay();return t>=4||t===0?xj(e):xj.ceil(e)}function HM(e,t){return e=VM(e),X(xj.count(Dj(e),e)+(Dj(e).getUTCDay()===4),t,2)}function UM(e){return e.getUTCDay()}function WM(e,t){return X(vj.count(Dj(e)-1,e),t,2)}function GM(e,t){return X(e.getUTCFullYear()%100,t,2)}function KM(e,t){return e=VM(e),X(e.getUTCFullYear()%100,t,2)}function qM(e,t){return X(e.getUTCFullYear()%1e4,t,4)}function JM(e,t){var n=e.getUTCDay();return e=n>=4||n===0?xj(e):xj.ceil(e),X(e.getUTCFullYear()%1e4,t,4)}function YM(){return`+0000`}function XM(){return`%`}function ZM(e){return+e}function QM(e){return Math.floor(e/1e3)}var $M,eN;tN({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 tN(e){return $M=Ij(e),eN=$M.format,$M.parse,$M.utcFormat,$M.utcParse,$M}function nN(e){return new Date(e)}function rN(e){return e instanceof Date?+e:+new Date(+e)}function iN(e,t,n,r,i,a,o,s,c,l){var u=RA(),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,rN)):f().map(nN)},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(HA(n,e)):u},u.copy=function(){return IA(u,iN(e,t,n,r,i,a,o,s,c,l))},u}function aN(){return SA.apply(iN(jj,Mj,Ej,wj,lj,aj,rj,tj,ej,eN).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Z(e){return function(){return e}}var oN=Math.abs,sN=Math.atan2,cN=Math.cos,lN=Math.max,uN=Math.min,dN=Math.sin,fN=Math.sqrt,pN=Math.PI,mN=pN/2,hN=2*pN;function gN(e){return e>1?0:e<-1?pN:Math.acos(e)}function _N(e){return e>=1?mN:e<=-1?-mN:Math.asin(e)}function vN(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 Ek(t)}function yN(e){return e.innerRadius}function bN(e){return e.outerRadius}function xN(e){return e.startAngle}function SN(e){return e.endAngle}function CN(e){return e&&e.padAngle}function wN(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 TN(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/fN(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)*fN(lN(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 EN(){var e=yN,t=bN,n=Z(0),r=null,i=xN,a=SN,o=CN,s=null,c=vN(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-mN,m=a.apply(this,arguments)-mN,h=oN(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>hN-1e-12)s.moveTo(f*cN(p),f*dN(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*cN(m),d*dN(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):fN(d*d+f*f)),T=uN(oN(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=_N(w/d*dN(C)),j=_N(w/f*dN(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*cN(_),N=f*dN(_),P=d*cN(b),F=d*dN(b);if(T>1e-12){var ee=f*cN(v),te=f*dN(v),I=d*cN(y),L=d*dN(y),ne;if(h<pN){if(ne=wN(M,N,I,L,ee,te,P,F)){var re=M-ne[0],R=N-ne[1],ie=ee-ne[0],z=te-ne[1],ae=1/dN(gN((re*ie+R*z)/(fN(re*re+R*R)*fN(ie*ie+z*z)))/2),oe=fN(ne[0]*ne[0]+ne[1]*ne[1]);E=uN(T,(d-oe)/(ae-1)),D=uN(T,(f-oe)/(ae+1))}else E=D=0}}S>1e-12?D>1e-12?(O=TN(I,L,M,N,f,D,g),k=TN(ee,te,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,sN(O.y01,O.x01),sN(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,sN(O.y01,O.x01),sN(O.y11,O.x11),!g),s.arc(0,0,f,sN(O.cy+O.y11,O.cx+O.x11),sN(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,sN(k.y11,k.x11),sN(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=TN(P,F,ee,te,d,-E,g),k=TN(M,N,I,L,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,sN(O.y01,O.x01),sN(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,sN(O.y01,O.x01),sN(O.y11,O.x11),!g),s.arc(0,0,d,sN(O.cy+O.y11,O.cx+O.x11),sN(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,sN(k.y11,k.x11),sN(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-pN/2;return[cN(r)*n,dN(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:Z(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Z(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Z(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Z(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:Z(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function DN(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ON(e){this._context=e}ON.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 kN(e){return new ON(e)}function AN(e){return e[0]}function jN(e){return e[1]}function MN(e,t){var n=Z(!0),r=null,i=kN,a=null,o=vN(s);e=typeof e==`function`?e:e===void 0?AN:Z(e),t=typeof t==`function`?t:t===void 0?jN:Z(t);function s(s){var c,l=(s=DN(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:Z(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:Z(!!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 NN(e,t,n){var r=null,i=Z(!0),a=null,o=kN,s=null,c=vN(l);e=typeof e==`function`?e:e===void 0?AN:Z(+e),t=typeof t==`function`?t:Z(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?jN:Z(+n);function l(l){var u,d,f,p=(l=DN(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 MN().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:Z(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Z(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:Z(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:Z(+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:Z(!!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 PN(e){return e<0?-1:1}function FN(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(PN(a)+PN(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function IN(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function LN(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 RN(e){this._context=e}RN.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:LN(this,this._t0,IN(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,LN(this,IN(this,n=FN(this,e,t)),n);break;default:LN(this,this._t0,n=FN(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(RN.prototype).point=function(e,t){RN.prototype.point.call(this,t,e)};function zN(e){return new RN(e)}function BN(e,t){this._context=e,this._t=t}BN.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 VN(e){return new BN(e,1)}function HN(e,t,n){this.k=e,this.x=t,this.y=n}HN.prototype={constructor:HN,scale:function(e){return e===1?this:new HN(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new HN(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 UN=new HN(1,0,0);WN.prototype=HN.prototype;function WN(e){for(;!e.__zoom;)if(!(e=e.parentNode))return UN;return e.__zoom}function GN(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 KN={DECISIVE:20,ROUTINE:50},qN=new Set([`WALKOVER`,`DOUBLE_WALKOVER`,`DEFAULTED`,`DOUBLE_DEFAULT`]),JN={COMPETITIVE:`#16a34a`,ROUTINE:`#3b82f6`,DECISIVE:`#8e44ad`,WALKOVER:`#6b7280`},YN=`#cfd8dc`,XN=`COMPETITIVE`,ZN=`ROUTINE`,QN=`DECISIVE`,$N=`WALKOVER`;function eP(e,t=KN){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)?$N:a<=t.DECISIVE?QN:a<=t.ROUTINE?ZN:XN}function tP(e,n=KN){if(e)return eP(t.scoreGovernor.parseScoreString({scoreString:e}),n)}function nP({winningSide:e,matchUpStatus:t,sets:n,scoreString:r,bands:i}){if(t&&qN.has(t))return $N;if(e)return n?.length?eP(n,i):tP(r,i)}function rP(e,t){return e?t?.[e]??JN[e]:YN}var{WILDCARD:iP,QUALIFIER:aP,LUCKY_LOSER:oP}=t.entryStatusConstants,sP=`text-anchor`,cP=`dominant-baseline`,lP=`fill-opacity`,uP=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 dP(e){let t=Math.floor(e.length/2),n=e.slice(0,t),r=e.slice(t).reverse();return[...n,...r]}function fP(e){if(e)switch(e){case iP:return`WC`;case aP:return`Q`;case oP:return`LL`;default:return e}}function pP(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:fP(e.entryStatus),nationalityCode:e.nationalityCode,matchUp:r,depth:t,value:1})}return n}function mP(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 hP(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}=mP(e,r);return{name:s||``,participantName:s,drawPosition:l?.drawPosition??c?.drawPosition,seedNumber:c?.seedNumber??l?.seedNumber,entryStatus:fP(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 gP(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=dP(pP(r,n.length)),a=new Map;for(let e of i)e.participantName&&e.participantName!==`BYE`&&a.set(e.participantName,e);let o=hP(dP(r),i,n.length-1,a);for(let e=1;e<n.length;e++)o=hP(dP(t[n[e]]),o,n.length-1-e,a);return o.length===1?o[0]:{name:`Tournament`,depth:0,children:o}}function _P(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=VA().domain([1,32]).range([`0`,`1`]);o=VA().domain(QC(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=VA().domain(QC(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=VA().domain(QC(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),_P(n,t)})}function vP(e,t){e&&(e.competitivenessColor=e.children?.length&&e.competitiveness?rP(e.competitiveness,t):YN,e.children?.forEach(e=>vP(e,t)))}function yP(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 bP(e,t){let n=e.find(e=>e.data.participantName&&e.data.participantName!==t);return n?.data.participantName?n.data:void 0}function xP(e,t){let n=[e.participantName],r;if(t.children&&t.children.length>0)e.scoreString&&n.push(e.scoreString),r=bP(t.children,e.participantName),r&&n.push(r.participantName);else{let r=yP(e,t.depth);r&&n.push(r)}return{messageLines:n,opponentData:r}}function SP(e,t){return-(e*t/2)+t/2}function CP(e,t,n){let r=_E(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 wP(e,t,n,r,i){let a=e.append(`text`).attr(`x`,t/2).attr(`y`,n/2).attr(sP,`middle`).attr(cP,`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(sP,`middle`).attr(cP,`middle`).attr(`font-size`,`${i}px`).style(`fill`,`var(--chc-text-secondary, #666)`).attr(`pointer-events`,`none`)}}function TP(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(sP,`middle`).attr(cP,`middle`).attr(`transform`,`translate(0, ${r*a})`).text(kP(n)))}function EP(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=gP(n),m=fA(p,e=>e.children).sum(e=>e.value||0),h=Math.min(a,o)/2,g=h/2,_=e=>e*h/200;xA().size([2*Math.PI,h-g])(m),_P(p,VA().domain([0,n.drawSize||128]).range([0,1])),vP(p,i.competitivenessColors);let v=i.colorMode??`default`,y=e=>v===`competitiveness`?e.competitivenessColor||`#cfd8dc`:e.color||`#ccc`,b=m.descendants(),x=EN().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}=CP(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}=wP(S,a,o,c,l);function M(){let e=GN(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=VA().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(sP,`middle`).attr(cP,`middle`).attr(`transform`,(t,r)=>{let i=e(r);return`translate(${Math.cos(i)*n}, ${Math.sin(i)*n})`}).text(e=>kP(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(lP,e=>e.data.nationalityCode===t?.9:.3)}).on(`mouseout`,function(){F||C.selectAll(`path`).attr(lP,.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,ee;function te(e,t){let n=t.data;if(n.participantName){let{messageLines:e,opponentData:r}=xP(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=SP(e.length,u);A.attr(`y`,o/2+i),A.style(`display`,`block`),j.style(`display`,`none`)}F?n.participantName?.toLowerCase()!==ee?.toLowerCase()&&_E(e.currentTarget).attr(lP,.9):C.selectAll(`path`).attr(lP,e=>e.data.participantName===t.data.participantName?.9:.3);let r=_(30),i=g-r-10,s={flagsGroup:w,winningFlagsGroup:T,losingFlagsGroup:E};TP(T,s,n.nationalityCode,-1,!0,i,r),n.opponent&&TP(E,s,n.opponent.nationalityCode,1,!1,i,r)}function I(e,t){if(F){let n=t.data.participantName?.toLowerCase()===ee?.toLowerCase();_E(e.currentTarget).attr(lP,n?1:.2)}else C.selectAll(`path`).attr(lP,.8);N(),M()}let L=i.eventHandlers?.clickSegment;function ne(e,t){if(!L)return;let n=t.data;L({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 re=C.selectAll(`path`).data(b).join(`path`).attr(`d`,e=>x(e)).attr(`fill`,e=>y(e.data)).attr(lP,.8).attr(`stroke`,`#fff`).attr(`stroke-width`,1).on(`mouseover`,te).on(`mouseout`,I);L&&re.style(`cursor`,`pointer`).on(`click`,ne),re.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 R(e){let t=0;return F=!!e,ee=e,C.selectAll(`path`).attr(lP,n=>e?n.data.participantName?.toLowerCase()===e.toLowerCase()?(t+=1,1):.2:.8),t}function ie(e){S.style(`display`,e?`none`:`block`)}function z(e){v=e,C.selectAll(`path`).attr(`fill`,e=>y(e.data))}return{highlightPlayer:R,hide:ie,setColorMode:z}}function DP(e={}){return{render:(t,n,r)=>EP(t,n,r,e)}}function OP(e){return e?.length===2?e&&String.fromCodePoint!==void 0?e.toUpperCase().replaceAll(/./g,e=>String.fromCodePoint((e.codePointAt(0)??0)+127397)):e:``}function kP(e){return OP(uP[e]||e)}var{LUCKY_LOSER:AP,WILDCARD:jP,QUALIFIER:MP}=t.entryStatusConstants,{WIN_RATIO:NP,ROUND_OUTCOME:PP,MAIN:FP,CONTAINER:IP}=t.drawDefinitionConstants;function LP(e){return e?.finishingPosition===PP&&e?.structureType!==IP}function RP(e){return e?.finishingPosition===NP||e?.structureType===IP}function zP(e){if(!e?.length)return;let t=e.filter(LP);if(t.length)return t.find(e=>e.stage===FP)??t[0]}function BP(e){if(RP(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:nP({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 VP={LL:AP,WC:jP,Q:MP},HP=[`R128`,`R64`,`R32`,`R16`,`QF`,`SF`,`F`];function UP(e){let t=WP(e);if(t.length===0)return{drawSize:0,roundMatchUps:{}};let n=t[0].data,r=n.length,i=GP(n),a=KP(t,e),o={};o[1]=JP(n,a,t);for(let e=1;e<t.length;e++)o[e+1]=YP(e,t,a,i);return{drawSize:r,roundMatchUps:o}}function WP(e){let t=[],n=!1;for(let r of HP){let i=e[r];i&&i.length>0&&(n=!0),n&&i&&i.length>0&&t.push({key:r,data:i})}return t}function GP(e){let t=new Map;return e.forEach((e,n)=>{let r=XP(e.player);r&&r!==`BYE`&&t.set(r,{drawPosition:e.Draw??n+1,country:e.country,seed:e.seed,entry:e.entry})}),t}function KP(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=XP(e.player);t&&a.add(t)}n.set(e[r].key,a)}return n}function qP(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 JP(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=XP(a?.player),c=XP(o?.player),l=s===`BYE`||c===`BYE`,u=qP(s,c,i),d;if(!l&&n.length>1){let e=n[1].data,t=u===1?s:c;d=e.find(e=>XP(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:nP({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[QP(1,a,t+1),QP(2,o,t+2)]})}return r}function YP(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=XP(t?.player),l=XP(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:nP({winningSide:u,matchUpStatus:f,scoreString:d}),scoreString:d,sides:[$P(1,t,r),$P(2,n,r)]})}return s}function XP(e){if(!e)return``;let t=e.trim();return t.toUpperCase()===`BYE`?`BYE`:t}function ZP(e){if(e)return VP[e.toUpperCase()]||e}function QP(e,t,n){if(!t)return{sideNumber:e,drawPosition:n};let r=XP(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:ZP(t.entry)}}function $P(e,t,n){if(!t)return{sideNumber:e,drawPosition:0};let r=XP(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:ZP(t.entry||i?.entry)}}var eF=480,tF=200,nF=280,rF={top:12,right:12,bottom:28,left:32},iF={top:12,right:12,bottom:12,left:12},aF=.6,oF=.9,sF=`http://www.w3.org/2000/svg`,cF=`middle`,lF=`text-anchor`,uF=`dominant-baseline`,dF=[`var(--chc-rating-low, #5b8ff9)`,`var(--chc-rating-high, #00b894)`];function fF(e,t,n){let r=document.createElementNS(sF,`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 pF(e,t,n){return n<=1||t/(n-1)<.5?dF[0]:dF[1]}function mF(e,t,n,r){return r?r(e,t):pF(e,t,n)}function hF(e){return`${e.binStart.toFixed(1)}–${e.binEnd.toFixed(1)}`}function gF(e){let{stats:t,width:n,height:r,margin:i,showAxis:a,showCounts:o,showMean:s,binColor:c,ariaLabel:l}=e,u=fF(n,r,l),d=_E(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=TA().domain(t.histogram.map(hF)).range([0,f]).padding(.12),h=VA().domain([0,ZC(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(hF(e))??0).attr(`y`,e=>h(e.count)).attr(`width`,m.bandwidth()).attr(`height`,e=>p-h(e.count)).attr(`fill`,(e,t)=>mF(e,t,g,c)).append(`title`).text(e=>`${hF(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(hF(e))??0)+m.bandwidth()/2).attr(`y`,e=>h(e.count)-4).attr(lF,cF).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(hF),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(dw(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 _F(e,t,n,r){return[e+n*Math.sin(r),t-n*Math.cos(r)]}function vF(e,t,n,r,i,a){let[o,s]=_F(e,t,n,i),[c,l]=_F(e,t,n,a),[u,d]=_F(e,t,r,a),[f,p]=_F(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 yF(e){let{stats:t,size:n,margin:r,showCounts:i,binColor:a,ariaLabel:o}=e,s=fF(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*oF,f=c*aF,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(sF,`path`);if(h.setAttribute(`class`,`chc-rdc-slice`),h.setAttribute(`d`,vF(l,u,d,f,o,c)),h.setAttribute(`fill`,mF(n,e,m,a)),s.appendChild(h),i){let e=o+r/2,[t,i]=_F(l,u,(d+f)/2,e),a=document.createElementNS(sF,`text`);a.setAttribute(`class`,`chc-rdc-slice-label`),a.setAttribute(`x`,String(t)),a.setAttribute(`y`,String(i)),a.setAttribute(lF,cF),a.setAttribute(uF,cF),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(sF,`text`);return h.setAttribute(`class`,`chc-rdc-center-count`),h.setAttribute(`x`,String(l)),h.setAttribute(`y`,String(u)),h.setAttribute(lF,cF),h.setAttribute(uF,cF),h.setAttribute(`font-size`,`20`),h.setAttribute(`font-weight`,`600`),h.textContent=String(t.count),s.appendChild(h),s}function bF(e,t={}){let n=t.mode??`HISTOGRAM`,r=t.ariaLabel??`Participant rating distribution`;return n===`DONUT`?yF({stats:e,size:t.width??t.height??nF,margin:t.margin??iF,showCounts:t.showCounts??!0,binColor:t.binColor,ariaLabel:r}):gF({stats:e,width:t.width??eF,height:t.height??tF,margin:t.margin??rF,showAxis:t.showAxis??!0,showCounts:t.showCounts??!0,showMean:t.showMean??!0,binColor:t.binColor,ariaLabel:r})}var xF=`http://www.w3.org/2000/svg`,SF={top:36,right:16,bottom:28,left:56},CF=600,wF=260,TF=6,EF=8;function DF(e,t){let n=document.createElementNS(xF,`svg`);n.classList.add(`lc-svg`),e.appendChild(n);let r={container:e,svg:n,config:{...t},destroyed:!1};return OF(r),{element:n,update(e){r.destroyed||(r.config={...r.config,...e},OF(r))},destroy(){r.destroyed||(r.destroyed=!0,n.parentNode===e&&e.removeChild(n))}}}function OF(e){let{svg:t,container:n,config:r}=e,i={...SF,...r.margins||{}},a=n.clientWidth||CF,o=r.width??a,s=r.height??wF;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(xF,`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(xF,`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=RC(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=aN().domain([p,m]).range([0,c]),g=DA().domain([...r.rungs].reverse()).range([0,l]).padding(.5),_=document.createElementNS(xF,`g`);_.setAttribute(`transform`,`translate(${i.left},${i.top})`),t.appendChild(_);let v=document.createElementNS(xF,`g`);v.setAttribute(`class`,`lc-axis lc-axis-y`),_.appendChild(v),_E(v).call(fw(g).tickSize(-c).tickPadding(8));let y=document.createElementNS(xF,`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(_E(y).call(dw(h).ticks(r.xMaxTicks??EF).tickFormat(eN(x))),r.showConnector!==!1&&u.length>1){let e=MN().x(e=>h(e._dateValue)).y(e=>g(r.rungs[e._rung])??0).curve(VN),t=document.createElementNS(xF,`path`);t.setAttribute(`class`,`lc-connector`),t.setAttribute(`d`,e(u)||``),r.connectorColor&&(t.style.stroke=r.connectorColor),_.appendChild(t)}let S=document.createElementNS(xF,`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??TF,a=document.createElementNS(xF,`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(xF,`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(xF,`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 kF=`http://www.w3.org/2000/svg`,AF=`text-anchor`,jF=`dominant-baseline`,MF=`class`,NF=`middle`,PF=520,FF=240,IF={top:16,right:64,bottom:28,left:44},LF=5,RF=3;function zF(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 BF(e,t){let n=document.createElementNS(kF,e);return t&&n.setAttribute(MF,t),n}function VF(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function HF(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 UF(e,t){let n=t.width??PF,r=t.height??FF,i=t.margin??(t.spark?{top:6,right:6,bottom:6,left:6}:IF),a=Math.max(1,n-i.left-i.right),o=Math.max(1,r-i.top-i.bottom),s=VA().domain([0,Math.max(1,e.length-1)]).range([0,a]),c=HF(e,t.yDomain),l=VA().domain(c).range([o,0]);return{x:e=>s(e),y:e=>l(e),yDomain:c,innerWidth:a,innerHeight:o,margin:i}}function WF(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=NN().x(({index:e})=>n.x(e)).y0(({point:e})=>n.y(e.projected.low)).y1(({point:e})=>n.y(e.projected.high)),a=BF(`path`,`chc-pc__band`);a.setAttribute(`d`,i(r)??``),e.appendChild(a)}function GF({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=MN().x(({index:e})=>n.x(e)).y(({point:e})=>n.y(i(e))),s=BF(`path`,r);s.setAttribute(`d`,o(a)??``),e.appendChild(s)}function KF(e){return rP(e)}function qF({group:e,points:t,geometry:n,radius:r,onHover:i}){t.forEach((t,a)=>{if(t.actual===null)return;let o=BF(`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`,KF(t.competitiveness));let s=document.createElementNS(kF,`title`);s.textContent=`Round ${t.roundNumber}: ${VF(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 JF({group:e,geometry:t}){let[n,r]=t.yDomain,i=YF(Math.max(Math.abs(n),Math.abs(r)));for(let a of[-i,i]){if(a<n||a>r)continue;let i=BF(`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=BF(`text`,`chc-pc__tick-label`);o.setAttribute(`x`,`-6`),o.setAttribute(`y`,String(t.y(a))),o.setAttribute(AF,`end`),o.setAttribute(jF,NF),o.textContent=VF(a),e.appendChild(o)}}function YF(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 XF({group:e,points:t,geometry:n,options:r}){let i=BF(`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;JF({group:e,geometry:n});let a=BF(`text`,`chc-pc__axis-label`);a.setAttribute(`x`,String(n.innerWidth+6)),a.setAttribute(`y`,String(n.y(0))),a.setAttribute(jF,NF),a.textContent=`even`,e.appendChild(a);let o=r.roundLabels??zF;t.forEach((r,i)=>{let a=BF(`text`,`chc-pc__round-label`);if(a.setAttribute(`x`,String(n.x(i))),a.setAttribute(`y`,String(n.innerHeight+16)),a.setAttribute(AF,NF),a.textContent=o(r.roundNumber,i,t.length),e.appendChild(a),r.bye){let t=BF(`text`,`chc-pc__bye`);t.setAttribute(`x`,String(n.x(i))),t.setAttribute(`y`,String(n.y(0)-8)),t.setAttribute(AF,NF),t.textContent=`bye`,e.appendChild(t)}});let s=BF(`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 ZF({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=BF(`text`,`chc-pc__series-label`);a.setAttribute(`x`,String(n.x(i)+8)),a.setAttribute(`y`,String(n.y(r.projected.expected))),a.setAttribute(jF,NF),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=BF(`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(jF,NF),o.textContent=`actual`,e.appendChild(o)}}function QF(){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=rP(t),n.append(r,document.createTextNode(t.toLowerCase())),e.appendChild(n)}return e}function $F(){let e=document.createElement(`div`);return e.className=`chc-pc__tooltip`,e.dataset.visible=`false`,e}function eI(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 tI(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(eI(`faced`,VF(t.actual))),t.competitiveness&&e.appendChild(eI(`scoreline`,t.competitiveness.toLowerCase())),t.won!==void 0&&e.appendChild(eI(`result`,t.won?`won`:`lost`)),t.projected.expected!==null&&e.appendChild(eI(`projected`,VF(t.projected.expected))),t.projected.low!==null&&t.projected.high!==null&&e.appendChild(eI(`range`,`${VF(t.projected.low)} … ${VF(t.projected.high)}`)),e.appendChild(eI(`reach`,`${Math.round(t.reachProbability*100)}%`))}function nI(e){let t=document.createElement(`div`);return t.className=`chc-pc__empty`,t.textContent=e,t}function rI(e,t,n={}){let r=document.createElement(`div`);r.className=`chc-pc`,e.appendChild(r);let i=$F();function a(e,t){r.replaceChildren();let n=e?.points??[];if(!e||!n.length||!e.rating){r.appendChild(nI(t.emptyMessage??`No rating data for this draw, so no pressure to plot.`));return}let a=t.width??PF,o=t.height??FF,s=UF(n,t),c=BF(`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=BF(`g`);l.setAttribute(`transform`,`translate(${s.margin.left}, ${s.margin.top})`),c.appendChild(l),WF(l,n,s),XF({group:l,points:n,geometry:s,options:t}),GF({group:l,points:n,geometry:s,className:`chc-pc__projected-line`,accessor:e=>e.projected.expected}),GF({group:l,points:n,geometry:s,className:`chc-pc__actual-line`,accessor:e=>e.actual}),qF({group:l,points:n,geometry:s,radius:t.spark?RF:LF,onHover:t.spark?void 0:(e,t,n)=>{tI(i,e),i.dataset.visible=`true`,i.style.left=`${n.offsetX+12}px`,i.style.top=`${n.offsetY+12}px`}}),t.spark||ZF({group:l,points:n,geometry:s}),r.appendChild(c),t.spark||(r.appendChild(i),t.showLegend!==!1&&r.appendChild(QF()),r.addEventListener(`mouseleave`,()=>{i.dataset.visible=`false`}))}return a(t,n),{element:r,update:(e,t)=>a(e,{...n,...t}),destroy:()=>{_E(r).remove()}}}var iI={NO_MATCHUPS:`NO_MATCHUPS`,NOT_ELIMINATION:`NOT_ELIMINATION`,NO_RATINGS:`NO_RATINGS`};function aI(e){return{participantId:e?.participant?.participantId??e?.participantId,participant:e?.participant,drawPosition:e?.drawPosition,bye:!!e?.bye}}function oI(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:[aI(i),aI(a)],winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,raw:e}}function sI(e){if(!Array.isArray(e)||!e.length)return{unsupported:iI.NO_MATCHUPS};let t=new Map;for(let n of e){let e=oI(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:iI.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:iI.NOT_ELIMINATION}}return n.length===1&&(t.get(r)?.size??0)>1?{unsupported:iI.NOT_ELIMINATION}:{graph:{roundNumbers:n,byRound:t,firstRound:r}}}function cI(e){return[e*2-1,e*2]}function lI(e){return e.matchUpStatus===`BYE`||e.sides.some(e=>e.bye)}var{ELO:uI}=t.ratingConstants,dI=`SINGLES`,fI=`DOUBLES`;function pI(){return t.fixtures?.ratingsParameters??{}}function mI({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 hI({scaleName:e,value:t}){if(typeof t!=`number`||Number.isNaN(t))return;if(e===uI)return t;let n=e?pI()[e]?.range:void 0;if(!n)return;let r=pI()[uI]?.range;if(r)return mI({value:n[0]>n[1]?n[0]-t:t,sourceRange:n,targetRange:r})}function gI(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 _I(e,t){let n=gI(t);if(n!==void 0)return n;if(!t||typeof t!=`object`)return;let r=pI()[e],i=[r?.accessor,...r?.accessors??[]].filter(Boolean);for(let e of i){let n=gI(t[e]);if(n!==void 0)return n}}function vI({participant:e,matchUpType:t,preferredScaleName:n}){let r=t===fI?fI:dI,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=_I(a.scaleName,a.scaleValue);if(o===void 0)return null;let s=hI({scaleName:a.scaleName,value:o});return s===void 0?null:{elo:s,scaleName:a.scaleName,sourceValue:o}}function yI(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 bI(e,t,n){let r=n?.divisor??400;return r?1/(1+10**((t-e)/r)):.5}function xI(e,t,n){return e===null||t===null?.5:bI(e,t,n)}function SI(e){return e.sides.map(e=>e.bye?void 0:e.participantId)}function CI(e,t){let n=new Map,[r,i]=SI(e);if(t.respectResults&&e.winningSide){let t=SI(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=xI(t.eloOf.get(r)??null,t.eloOf.get(i)??null,t.model);n.set(r,e),n.set(i,1-e)}return n}function wI(e,t,n){if(!t.size)return 1;let r=0;for(let[i,a]of t)r+=a*xI(n.eloOf.get(e)??null,n.eloOf.get(i)??null,n.model);return r}function TI(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*wI(i,t,n));for(let[i,a]of t)r.set(i,a*wI(i,e,n));return r}function EI(e,t,n){if(n.respectResults&&e.winningSide){let t=SI(e)[e.winningSide-1];if(t)return new Map([[t,1]])}return TI(t[0],t[1],n)}function DI(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,CI(s,t));continue}let i=n.get(r-1),[c,l]=cI(o),u=[i?.get(c)??new Map,i?.get(l)??new Map];a.set(o,EI(s,u,t))}n.set(r,a)}}return n}function OI({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 kI({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 AI(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 jI({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&&lI(a),m=OI({opponents:t===n.firstRound&&a?AI(a,e):kI({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:MI(l),slotDifficulty:NI(l),expectedMatchesPlayed:l.reduce((e,t)=>e+(t.bye?0:t.reachProbability),0)}}function MI(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 NI(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 PI(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 FI(e){let{graph:t,unsupported:n}=sI(e.matchUps);if(!t)return{projections:[],unsupported:n,unratedCount:0};let r=PI(t);if(!r.size)return{projections:[],unsupported:iI.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=vI({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:iI.NO_RATINGS,unratedCount:s};let c={eloOf:a,model:e.model,respectResults:!!e.respectResults},l=DI(t,c),u=e.rangeThreshold??.01;return{projections:[...r.entries()].map(([e,n])=>jI({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:yI([...i.values()]),unratedCount:s}}function II(e){return e.raw?.competitiveProfile?.competitiveness||nP({winningSide:e.winningSide,matchUpStatus:e.matchUpStatus,sets:e.raw?.score?.sets,scoreString:e.raw?.score?.scoreStringSide1})}function LI(e,t){return vI({participant:e?.participant,matchUpType:t.matchUpType,preferredScaleName:t.scaleName})}function RI({matchUp:e,participantId:t,ownElo:n,params:r}){let i=e.sides.findIndex(e=>e.participantId===t),a=e.sides[1-i],o=lI(e),s=!!e.winningSide,c=(o||!s?null:LI(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:II(e),won:s?e.winningSide===i+1:void 0,bye:o}}function zI(e){let{graph:t}=sI(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,LI(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=>RI({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 BI(e){let t=FI(e);if(!t.projections.length)return{series:[],projection:t,scaleName:t.scaleName,unratedCount:t.unratedCount};let n=new Map(zI({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 VI(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 HI=150,UI=64;function WI(e){return HF(e.flatMap(e=>e.points))}function GI({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),rI(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 KI(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-psm`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=VI(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=WI(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(GI({series:e,options:t,chartOptions:{spark:!0,yDomain:i,width:t.cellWidth??HI,height:t.cellHeight??UI,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 qI=22,JI=460,YI=132,XI=3;function ZI(e){if(e===null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function QI({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??qI}px`;let o=document.createElement(`span`);o.className=`chc-pdb__label`,o.style.width=`${t.labelWidth??YI}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 ${XI}px ${XI}px 0`:`${XI}px 0 0 ${XI}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 ${ZI(e.facedDifficulty)}`,s.appendChild(t)}let l=document.createElement(`span`);return l.className=`chc-pdb__value`,l.textContent=ZI(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 $I(e,t=[],n={}){let r=document.createElement(`div`);r.className=`chc-pdb`,e.appendChild(r);function i(e,t){r.replaceChildren();let n=VI(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??JI,a=t.labelWidth??YI,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(QI({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 eL=[`Round`,`Projected`,`Range`,`Reach`,`Faced`,`Scoreline`,`Result`];function tL(e){if(e==null)return`—`;let t=Math.round(e);return t>0?`+${t}`:String(t)}function nL(e){return e.points.map(e=>{let t=e.projected.low!==null&&e.projected.high!==null?`${tL(e.projected.low)} … ${tL(e.projected.high)}`:`—`,n=`—`;return e.bye?n=`bye`:e.won!==void 0&&(n=e.won?`won`:`lost`),[`R${e.roundNumber}`,tL(e.projected.expected),t,`${Math.round(e.reachProbability*100)}%`,tL(e.actual),e.competitiveness?e.competitiveness.toLowerCase():`—`,n]})}function rL(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 eL){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 nL(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 iL(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 aL(e,t){let n=iL(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 oL(e,t){return t.filter((t,n)=>t===e[n]).length}function sL(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=aL(e,n),o=oL(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:aL(e,t),seed:t,deranged:!1}}function cL(e){let t=[];for(let n=2;n<e&&e%n===0;n*=2)t.push(n);return t}function lL(e){return e.toSorted((e,t)=>e.localeCompare(t,`en`)).join(`|`)}function uL(e,t){let n=[];for(let r=0;r<e.length;r+=t)n.push(lL(e.slice(r,r+t)));return n}function dL(e,t,n){let r=new Set(uL(t,n));return uL(e,n).filter(e=>r.has(e)).length}function fL(e){return Math.floor(e*e/2)}function pL({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=fL(r),c=s>0?1-o/s:1,l=cL(r).map(n=>({blockSize:n,matched:dL(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 mL({actualOrder:e,seed:t}){let n=sL(e,t);return{actualOrder:[...e],order:n.items,seed:n.seed,deranged:n.deranged,revealed:!1,score:null,moves:0}}function hL(e,t){return Number.isInteger(t)&&t>=0&&t<e.order.length}function gL(e,t,n){if(e.revealed||t===n||!hL(e,t)||!hL(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 _L(e,t,n){if(e.revealed||t===n||!hL(e,t)||!hL(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 vL(e){return e.revealed?e:{...e,revealed:!0,score:pL({guess:e.order,actual:e.actualOrder})}}function yL(e,t){return mL({actualOrder:e.actualOrder,seed:t})}var bL=[.25,.75];function xL(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 SL(e,t=bL){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=xL(n,t[0]),i=xL(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 CL={PROJECTED:`projected`,ACTUAL:`actual`},wL={HARD:`hard`,EASY:`easy`},TL=60;function EL(e,t){return t===CL.ACTUAL&&e.actual!==null&&e.actual!==void 0?{value:e.actual,fromActual:!0}:{value:e.projected.expected,fromActual:!1}}function DL({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 OL(e,t){let n=e.flatMap(e=>e.points.map(e=>EL(e,t).value).filter(e=>e!==null).map(Math.abs));return n.length?Math.max(60,...n):60}function kL({point:e,ownElo:t,round:n}){if(t!==null&&n?.possibleOpponents?.length){let e=SL(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 AL(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 jL(e){return e>=0?wL.HARD:wL.EASY}function ML({roundNumber:e,point:t,source:n,bands:r,domainMax:i,ownElo:a,round:o}){if(!t||t.bye)return AL(e,t);let{value:s,fromActual:c}=EL(t,n);if(s===null)return AL(e,t);let{layers:l,clipped:u}=DL({magnitude:Math.abs(s),bands:r,domainMax:i});return{roundNumber:e,value:s,direction:jL(s),layers:l,clipped:u,fromActual:c,reachProbability:t.reachProbability,bye:!1,resolved:t.resolved,spread:kL({point:t,ownElo:a,round:o})}}function NL(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 PL({series:e,source:t=CL.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??OL(e,t),s=NL(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=>ML({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 FL=`http://www.w3.org/2000/svg`,IL=`class`,LL=`path`,RL=0,zL=1.5;function BL(e,t){let n=document.createElementNS(FL,e);return t&&n.setAttribute(IL,t),n}function VL(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function HL(e){let t=e.layers.at(-1);return!t||!e.direction?`chc-ph__stop--none`:`chc-ph__stop--${e.direction}-${t.bandIndex}`}function UL(e,t,n,r){let i=BL(`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=BL(`stop`,HL(e));a.setAttribute(`offset`,String(n>0?t(r)/n:0)),i.appendChild(a)}),e.length===1){let t=BL(`stop`,HL(e[0]));t.setAttribute(`offset`,`1`),i.appendChild(t)}return i}function WL(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 ${VL(e.spread.innerLow)} to ${VL(e.spread.innerHigh)}${e.spread.weighted?``:` (unweighted range)`}`:``,o=e.clipped?` · capped at the top band`:``;return`${t}: ${i} ${VL(e.value)}${r}${a}${o}`}function GL(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-zL),g=Math.max(1e-9,i/Math.max(1,a)*o),_=e=>m-Math.max(-1,Math.min(1,e/g))*h,v=BL(`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}`),RL+=1;let y=`chc-ph-grad-${RL}`,b=BL(`defs`);if(b.appendChild(UL(e.cells,p,n,y)),v.appendChild(b),u){let e=BL(`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=NN().curve(zN).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=BL(LL,t);r.setAttribute(`d`,n),r.setAttribute(`fill`,S),v.appendChild(r)}let C=MN().curve(zN).defined(e=>e.cell.value!==null).x(e=>p(e.index)).y(e=>_(e.cell.value??0))(x);if(C){let e=BL(LL,`chc-ph__trace`);e.setAttribute(`d`,C),e.setAttribute(`stroke`,S),v.appendChild(e)}return s&&e.cells.forEach((e,t)=>{let n=BL(`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=BL(`title`);a.textContent=WL(e,i,l),n.appendChild(a),v.appendChild(n)}),v}var KL=`http://www.w3.org/2000/svg`,qL=`class`,JL=`rect`,YL=`chc-ph__wall`,XL=2,ZL=5,QL=2,$L=2;function eR(e,t){let n=document.createElementNS(KL,e);return t&&n.setAttribute(qL,t),n}function tR(e){let t=Math.round(e);return t>0?`+${t}`:String(t)}function nR(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} ${tR(e.value)}${i}${a}`}function rR({group:e,cell:t,columnWidth:n,height:r}){if(!t.layers.length){let t=eR(JL,`${YL} ${YL}--none`);t.setAttribute(`x`,`0`),t.setAttribute(`y`,String((r-$L)/2)),t.setAttribute(`width`,String(n)),t.setAttribute(`height`,String($L)),e.appendChild(t);return}let i=t.direction===wL.HARD;for(let a of t.layers){let o=Math.max(1,a.fraction*r),s=eR(JL,`${YL} ${YL}--${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>=ZL&&s.setAttribute(`rx`,String(QL)),e.appendChild(s)}}function iR(e,t){let{width:n,height:r,gap:i=XL,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=eR(`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=eR(`g`,`chc-ph__column`);if(n.setAttribute(`transform`,`translate(${t*(l+i)},0)`),rR({group:n,cell:e,columnWidth:l,height:r}),a){let r=o?.(e.roundNumber,t,c)??`R${t+1}`,i=eR(`title`);i.textContent=nR(e,r,s),n.appendChild(i)}u.appendChild(n)}),u}var aR=`http://www.w3.org/2000/svg`,oR=12,sR=2,cR={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`]},lR=[wL.HARD,wL.EASY];function uR(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function dR(e,t,n=!1){let r=oR*t+(t-1)*sR,i=document.createElementNS(aR,`svg`);i.setAttribute(`class`,`chc-ph__swatch`),i.setAttribute(`width`,String(r)),i.setAttribute(`height`,String(oR)),i.setAttribute(`viewBox`,`0 0 ${r} ${oR}`),i.setAttribute(`aria-hidden`,`true`);for(let r=0;r<t;r++){let a=oR*((r+1)/t),o=n?a/2:a,s=document.createElementNS(aR,`rect`);s.setAttribute(`class`,`chc-ph__wall chc-ph__wall--${e}-${r}`),s.setAttribute(`x`,String(r*14));let c=e===wL.HARD,l=oR/2;s.setAttribute(`y`,String(n?c?l-o:l:c?oR-o:0)),s.setAttribute(`width`,String(oR)),s.setAttribute(`height`,String(o)),i.appendChild(s)}return i}function fR(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 pR({bands:e,scaleName:t,note:n,variant:r}){let i=uR(`div`,`chc-ph__legend`),a=r===`ribbon`,o=cR[a?`ribbon`:`walls`];for(let[t,n]of lR.entries()){let r=uR(`div`,`chc-ph__legend-item`);r.appendChild(dR(n,e,a));let s=uR(`span`,`chc-ph__legend-label`);s.textContent=o[t],r.appendChild(s),i.appendChild(r)}let s=t?`${t}-equivalent rating`:`rating`,c=uR(`div`,`chc-ph__legend-note`);return c.textContent=n??fR(r,s),i.appendChild(c),i}var mR=`chc-ph`,hR=`chc-ph__row`,gR=520,_R=132,vR={walls:16,ribbon:28},yR=2,bR={DRAW:`draw`,DIFFICULTY:`difficulty`},xR={WALLS:`walls`,RIBBON:`ribbon`};function SR(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function CR(e,t){return t===bR.DIFFICULTY?VI(e):e.toSorted((e,t)=>(e.drawPosition??0)-(t.drawPosition??0))}function wR({roundNumbers:e,width:t,columnGap:n,labelWidth:r,roundLabels:i}){let a=SR(`div`,`chc-ph__head`),o=SR(`div`,`chc-ph__label`);o.style.width=`${r}px`,a.appendChild(o);let s=SR(`div`,`chc-ph__rounds`);s.style.width=`${t}px`,s.style.gap=`${n}px`;for(let[t,n]of e.entries()){let r=SR(`span`,`chc-ph__round-label`);r.textContent=i(n,t,e.length),s.appendChild(r)}return a.appendChild(s),a}function TR(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 ER(e,{variant:t,width:n,rowHeight:r,columnGap:i,roundLabels:a,scaleName:o,domainMax:s,bands:c}){return t===xR.RIBBON?GL(e,{width:n,height:r,domainMax:s,bands:c,positionBands:yR,describe:!0,roundLabels:a,scaleName:o}):iR(e,{width:n,height:r,gap:i,describe:!0,roundLabels:a,scaleName:o})}function DR({shown:e,ordered:t,dropped:n,domainMax:r,bands:i,clippedCells:a,order:o,variant:s,unweightedFan:c}){let l=SR(`div`,`chc-ph__caption`),u=[`${e} paths · ${o===bR.DRAW?`draw order`:`hardest slot first`}`,`shared domain ±${Math.round(r)} · ${i} bands`];return s===xR.RIBBON&&u.push(`trace saturates past ${yR} of ${i} bands — colour carries the rest`),s===xR.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 OR(e,t=[],n={}){let r=SR(`div`,mR);e.appendChild(r);function i(e,t){r.replaceChildren();let{width:n=gR,variant:i=xR.WALLS,rowHeight:a=vR[i],rowGap:o=2,columnGap:s=2,bands:c,source:l=CL.PROJECTED,domainMax:u,showLabels:d=!0,showLegend:f=!0,showRoundHeader:p=!0,order:m=bR.DRAW,limit:h,scaleName:g,onSelect:_,projection:v,roundLabels:y=zF}=t,b=e.filter(e=>e.rating);if(!b.length){let e=SR(`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=CR(b,m),S=h?x.slice(0,h):x,C=PL({series:S,source:l,bands:c,domainMax:u,projection:v}),w=d?t.labelWidth??_R:0;p&&r.appendChild(wR({roundNumbers:C.roundNumbers,width:n,columnGap:s,labelWidth:w,roundLabels:y}));let T=SR(`div`,`chc-ph__rows`);T.style.gap=`${o}px`;for(let[e,t]of C.rows.entries()){let r=S[e],o=SR(`div`,hR);if(o.dataset.participantId=t.participantId,d){let e=SR(`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(ER(t,{variant:i,width:n,rowHeight:a,columnGap:s,roundLabels:y,scaleName:g,domainMax:C.domainMax,bands:C.bands})),_&&TR(o,r,_),T.appendChild(o)}r.appendChild(T),f&&r.appendChild(pR({bands:C.bands,scaleName:g,variant:i})),r.appendChild(DR({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 kR=`chc-dog`,AR=`chc-dog__row`,jR=`application/x-chc-draw-slot`,MR=`button`,NR=`is-drop-target`,PR=`New board dealt`,FR=460,IR={walls:20,ribbon:30},LR=20260831;function RR(e,t){let n=document.createElement(e);return t&&(n.className=t),n}function zR(e,t){let n=document.createElement(MR);return n.type=MR,n.className=`chc-dog__button`,n.textContent=e,n.addEventListener(`click`,t),n}function BR(e,t){return e===2?`first-round pairs`:e===t/2?`halves`:e===t/4?`quarters`:`groups of ${e}`}function VR(e){let t=RR(`div`,`chc-dog__score`),n=RR(`div`,`chc-dog__score-headline`);n.textContent=`${e.structureScore}%`,t.appendChild(n);let r=RR(`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=RR(`ul`,`chc-dog__score-levels`);for(let t of e.levels){let n=RR(`li`);n.textContent=`${BR(t.blockSize,e.slots)}: ${t.matched}/${t.total}`,i.appendChild(n)}t.appendChild(i);let a=RR(`div`,`chc-dog__score-exact`);a.textContent=`${e.exact}/${e.slots} rows in the exact slot.`,t.appendChild(a);let o=RR(`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 HR(e,t=[],n={}){let r=RR(`div`,kR);e.appendChild(r);let{width:i=FR,rowHeight:a=IR[n.variant??xR.WALLS],rowGap:o=2,columnGap:s=2,bands:c,variant:l=xR.WALLS,projection:u,scaleName:d,limit:f,roundLabels:p=zF,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=PL({series:v,source:CL.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=mL({actualOrder:v.map(e=>e.participantId),seed:n.seed??LR}),C=null,w=null,T=RR(`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=RR(`div`,AR);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=RR(`div`,`chc-dog__slot`);if(o.textContent=String(t+1),r.appendChild(o),n){let e=l===xR.RIBBON?GL(n,{width:i,height:a,domainMax:y.domainMax,bands:y.bands,describe:!1,ariaLabel:`Path in slot ${t+1}`}):iR(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=RR(`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(jR,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(NR)}),e.addEventListener(`dragleave`,()=>e.classList.remove(NR)),e.addEventListener(`drop`,n=>{n.preventDefault(),e.classList.remove(NR);let r=n.dataTransfer?.getData(jR),i=r?Number.parseInt(r,10):C;i===null||Number.isNaN(i)||(w=t,D(gL(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(_L(S,t,n),`Slot ${t+1} swapped with slot ${n+1}`):j(n))})}function j(e){r.querySelector(`.${AR}[data-slot="${e}"]`)?.focus()}function M(){let e=RR(`div`,`chc-dog__toolbar`);S.revealed?e.appendChild(zR(`Play again`,()=>D(yL(S,S.seed+1),PR))):(e.appendChild(zR(`Check my order`,()=>D(vL(S)))),e.appendChild(zR(`Shuffle`,()=>D(yL(S,S.seed+1),PR))));let t=RR(`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=RR(`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===xR.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=RR(`div`,`chc-dog__head`);e.appendChild(RR(`div`,`chc-dog__slot-spacer`));let t=RR(`div`,`chc-ph__rounds`);t.style.width=`${i}px`,t.style.gap=`${s}px`;for(let[e,n]of y.roundNumbers.entries()){let r=RR(`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=RR(`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=RR(`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(pR({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(VR(S.score));let t=RR(`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(yL(S,e??S.seed+1),PR),reveal:()=>D(vL(S)),destroy:()=>r.remove()}}var UR=`right`,WR=`font-medium`;function GR({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===UR&&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`);B(t.onClick)&&(d.onclick=t.onClick),d.style.cssText=`margin-right: 1em`,d.innerHTML=t.label,u.appendChild(d);let f=document.createElement(`span`);B(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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "courthive-components",
|
|
3
|
-
"packageManager": "pnpm@11.
|
|
4
|
-
"version": "4.1.
|
|
3
|
+
"packageManager": "pnpm@11.25.0",
|
|
4
|
+
"version": "4.1.1",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22"
|
|
7
7
|
},
|
|
@@ -80,12 +80,11 @@
|
|
|
80
80
|
"@types/d3": "^7.4.3",
|
|
81
81
|
"@types/leaflet": "^1.9.12",
|
|
82
82
|
"@types/vanillajs-datepicker": "^1.3.5",
|
|
83
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
84
|
-
"@typescript-eslint/parser": "8.
|
|
85
|
-
"@vitest/
|
|
86
|
-
"@vitest/
|
|
87
|
-
"
|
|
88
|
-
"eslint": "10.8.1",
|
|
83
|
+
"@typescript-eslint/eslint-plugin": "8.68.0",
|
|
84
|
+
"@typescript-eslint/parser": "8.68.0",
|
|
85
|
+
"@vitest/coverage-v8": "^5.0.0",
|
|
86
|
+
"@vitest/ui": "^5.0.0",
|
|
87
|
+
"eslint": "10.9.1",
|
|
89
88
|
"eslint-plugin-sonarjs": "4.2.0",
|
|
90
89
|
"eslint-plugin-storybook": "^10.2.17",
|
|
91
90
|
"gh-pages": "6.3.0",
|
|
@@ -93,17 +92,17 @@
|
|
|
93
92
|
"happy-dom": "^20.8.3",
|
|
94
93
|
"husky": "9.1.7",
|
|
95
94
|
"leaflet": "1.9.4",
|
|
96
|
-
"lint-staged": "17.
|
|
95
|
+
"lint-staged": "17.4.1",
|
|
97
96
|
"playwright": "^1.57.0",
|
|
98
97
|
"prettier": "^3.8.1",
|
|
99
98
|
"semver": "7.8.5",
|
|
100
99
|
"storybook": "^10.2.17",
|
|
101
100
|
"tabulator-tables": "6.5.2",
|
|
102
|
-
"tods-competition-factory": "6.37.
|
|
101
|
+
"tods-competition-factory": "6.37.2",
|
|
103
102
|
"typescript": "^6.0.2",
|
|
104
103
|
"vite": "8.2.2",
|
|
105
104
|
"vite-plugin-dts": "^5.0.0",
|
|
106
|
-
"vitest": "^
|
|
105
|
+
"vitest": "^5.0.0"
|
|
107
106
|
},
|
|
108
107
|
"dependencies": {
|
|
109
108
|
"@tiptap/core": "^3.22.2",
|