(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const l of r)if(l.type==="childList")for(const c of l.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&o(c)}).observe(document,{childList:!0,subtree:!0});function n(r){const l={};return r.integrity&&(l.integrity=r.integrity),r.referrerPolicy&&(l.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?l.credentials="include":r.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function o(r){if(r.ep)return;r.ep=!0;const l=n(r);fetch(r.href,l)}})();/** * @vue/shared v3.5.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function mo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Fe={},mn=[],Tt=()=>{},Wr=()=>!1,Si=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$i=e=>e.startsWith("onUpdate:"),Ve=Object.assign,go=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ta=Object.prototype.hasOwnProperty,Ce=(e,t)=>Ta.call(e,t),oe=Array.isArray,gn=e=>Un(e)==="[object Map]",zr=e=>Un(e)==="[object Set]",sr=e=>Un(e)==="[object Date]",ue=e=>typeof e=="function",Oe=e=>typeof e=="string",Ft=e=>typeof e=="symbol",ke=e=>e!==null&&typeof e=="object",Yr=e=>(ke(e)||ue(e))&&ue(e.then)&&ue(e.catch),Xr=Object.prototype.toString,Un=e=>Xr.call(e),Fa=e=>Un(e).slice(8,-1),Jr=e=>Un(e)==="[object Object]",po=e=>Oe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pn=mo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),wi=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Aa=/-\w/g,gt=wi(e=>e.replace(Aa,t=>t.slice(1).toUpperCase())),Na=/\B([A-Z])/g,Jt=wi(e=>e.replace(Na,"-$1").toLowerCase()),Zr=wi(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ui=wi(e=>e?`on${Zr(e)}`:""),Pt=(e,t)=>!Object.is(e,t),Vi=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Ea=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ra=e=>{const t=Oe(e)?Number(e):NaN;return isNaN(t)?e:t};let lr;const Ci=()=>lr||(lr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Bt(e){if(oe(e)){const t={};for(let n=0;n{if(n){const o=n.split(xa);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function le(e){let t="";if(Oe(e))t=e;else if(oe(e))for(let n=0;n!!(e&&e.__v_isRef===!0),a=e=>Oe(e)?e:e==null?"":oe(e)||ke(e)&&(e.toString===Xr||!ue(e.toString))?es(e)?a(e.value):JSON.stringify(e,ts,2):String(e),ts=(e,t)=>es(t)?ts(e,t.value):gn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],l)=>(n[ji(o,l)+" =>"]=r,n),{})}:zr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ji(n))}:Ft(t)?ji(t):ke(t)&&!oe(t)&&!Jr(t)?String(t):t,ji=(e,t="")=>{var n;return Ft(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let it;class Da{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=it,!t&&it&&(this.index=(it.scopes||(it.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(it=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Fn){let t=Fn;for(Fn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Tn;){let t=Tn;for(Tn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function rs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ss(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),bo(o),Va(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function eo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ls(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ls(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!eo(e))))return;e.flags|=2;const t=e.dep,n=Ae,o=pt;Ae=e,pt=!0;try{rs(e);const r=e.fn(e._value);(t.version===0||Pt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ae=n,pt=o,ss(e),e.flags&=-3}}function bo(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)bo(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Va(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let pt=!0;const as=[];function Lt(){as.push(pt),pt=!1}function qt(){const e=as.pop();pt=e===void 0?!0:e}function ar(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ae;Ae=void 0;try{t()}finally{Ae=n}}}let Mn=0;class ja{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class So{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ae||!pt||Ae===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ae)n=this.activeLink=new ja(Ae,this),Ae.deps?(n.prevDep=Ae.depsTail,Ae.depsTail.nextDep=n,Ae.depsTail=n):Ae.deps=Ae.depsTail=n,us(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Ae.depsTail,n.nextDep=void 0,Ae.depsTail.nextDep=n,Ae.depsTail=n,Ae.deps===n&&(Ae.deps=o)}return n}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){vo();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{yo()}}}function us(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)us(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const to=new WeakMap,rn=Symbol(""),no=Symbol(""),xn=Symbol("");function Ye(e,t,n){if(pt&&Ae){let o=to.get(e);o||to.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new So),r.map=o,r.key=n),r.track()}}function Gt(e,t,n,o,r,l){const c=to.get(e);if(!c){Mn++;return}const s=f=>{f&&f.trigger()};if(vo(),t==="clear")c.forEach(s);else{const f=oe(e),C=f&&po(n);if(f&&n==="length"){const m=Number(o);c.forEach((g,S)=>{(S==="length"||S===xn||!Ft(S)&&S>=m)&&s(g)})}else switch((n!==void 0||c.has(void 0))&&s(c.get(n)),C&&s(c.get(xn)),t){case"add":f?C&&s(c.get("length")):(s(c.get(rn)),gn(e)&&s(c.get(no)));break;case"delete":f||(s(c.get(rn)),gn(e)&&s(c.get(no)));break;case"set":gn(e)&&s(c.get(rn));break}}yo()}function cn(e){const t=$e(e);return t===e?t:(Ye(t,"iterate",xn),at(e)?t:t.map(vt))}function ki(e){return Ye(e=$e(e),"iterate",xn),e}function kt(e,t){return Dt(e)?vn(sn(e)?vt(t):t):vt(t)}const Ka={__proto__:null,[Symbol.iterator](){return Hi(this,Symbol.iterator,e=>kt(this,e))},concat(...e){return cn(this).concat(...e.map(t=>oe(t)?cn(t):t))},entries(){return Hi(this,"entries",e=>(e[1]=kt(this,e[1]),e))},every(e,t){return Nt(this,"every",e,t,void 0,arguments)},filter(e,t){return Nt(this,"filter",e,t,n=>n.map(o=>kt(this,o)),arguments)},find(e,t){return Nt(this,"find",e,t,n=>kt(this,n),arguments)},findIndex(e,t){return Nt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Nt(this,"findLast",e,t,n=>kt(this,n),arguments)},findLastIndex(e,t){return Nt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Nt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Wi(this,"includes",e)},indexOf(...e){return Wi(this,"indexOf",e)},join(e){return cn(this).join(e)},lastIndexOf(...e){return Wi(this,"lastIndexOf",e)},map(e,t){return Nt(this,"map",e,t,void 0,arguments)},pop(){return Sn(this,"pop")},push(...e){return Sn(this,"push",e)},reduce(e,...t){return ur(this,"reduce",e,t)},reduceRight(e,...t){return ur(this,"reduceRight",e,t)},shift(){return Sn(this,"shift")},some(e,t){return Nt(this,"some",e,t,void 0,arguments)},splice(...e){return Sn(this,"splice",e)},toReversed(){return cn(this).toReversed()},toSorted(e){return cn(this).toSorted(e)},toSpliced(...e){return cn(this).toSpliced(...e)},unshift(...e){return Sn(this,"unshift",e)},values(){return Hi(this,"values",e=>kt(this,e))}};function Hi(e,t,n){const o=ki(e),r=o[t]();return o!==e&&!at(e)&&(r._next=r.next,r.next=()=>{const l=r._next();return l.done||(l.value=n(l.value)),l}),r}const Ha=Array.prototype;function Nt(e,t,n,o,r,l){const c=ki(e),s=c!==e&&!at(e),f=c[t];if(f!==Ha[t]){const g=f.apply(e,l);return s?vt(g):g}let C=n;c!==e&&(s?C=function(g,S){return n.call(this,kt(e,g),S,e)}:n.length>2&&(C=function(g,S){return n.call(this,g,S,e)}));const m=f.call(c,C,o);return s&&r?r(m):m}function ur(e,t,n,o){const r=ki(e),l=r!==e&&!at(e);let c=n,s=!1;r!==e&&(l?(s=o.length===0,c=function(C,m,g){return s&&(s=!1,C=kt(e,C)),n.call(this,C,kt(e,m),g,e)}):n.length>3&&(c=function(C,m,g){return n.call(this,C,m,g,e)}));const f=r[t](c,...o);return s?kt(e,f):f}function Wi(e,t,n){const o=$e(e);Ye(o,"iterate",xn);const r=o[t](...n);return(r===-1||r===!1)&&Co(n[0])?(n[0]=$e(n[0]),o[t](...n)):r}function Sn(e,t,n=[]){Lt(),vo();const o=$e(e)[t].apply(e,n);return yo(),qt(),o}const Wa=mo("__proto__,__v_isRef,__isVue"),cs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ft));function za(e){Ft(e)||(e=String(e));const t=$e(this);return Ye(t,"has",e),t.hasOwnProperty(e)}class ds{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return l;if(n==="__v_raw")return o===(r?l?iu:ps:l?gs:ms).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const c=oe(t);if(!r){let f;if(c&&(f=Ka[n]))return f;if(n==="hasOwnProperty")return za}const s=Reflect.get(t,n,Xe(t)?t:o);if((Ft(n)?cs.has(n):Wa(n))||(r||Ye(t,"get",n),l))return s;if(Xe(s)){const f=c&&po(n)?s:s.value;return r&&ke(f)?oo(f):f}return ke(s)?r?oo(s):ze(s):s}}class fs extends ds{constructor(t=!1){super(!1,t)}set(t,n,o,r){let l=t[n];const c=oe(t)&&po(n);if(!this._isShallow){const C=Dt(l);if(!at(o)&&!Dt(o)&&(l=$e(l),o=$e(o)),!c&&Xe(l)&&!Xe(o))return C||(l.value=o),!0}const s=c?Number(n)e,ei=e=>Reflect.getPrototypeOf(e);function Qa(e,t,n){return function(...o){const r=this.__v_raw,l=$e(r),c=gn(l),s=e==="entries"||e===Symbol.iterator&&c,f=e==="keys"&&c,C=r[e](...o),m=n?io:t?vn:vt;return!t&&Ye(l,"iterate",f?no:rn),Ve(Object.create(C),{next(){const{value:g,done:S}=C.next();return S?{value:g,done:S}:{value:s?[m(g[0]),m(g[1])]:m(g),done:S}}})}}function ti(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _a(e,t){const n={get(r){const l=this.__v_raw,c=$e(l),s=$e(r);e||(Pt(r,s)&&Ye(c,"get",r),Ye(c,"get",s));const{has:f}=ei(c),C=t?io:e?vn:vt;if(f.call(c,r))return C(l.get(r));if(f.call(c,s))return C(l.get(s));l!==c&&l.get(r)},get size(){const r=this.__v_raw;return!e&&Ye($e(r),"iterate",rn),r.size},has(r){const l=this.__v_raw,c=$e(l),s=$e(r);return e||(Pt(r,s)&&Ye(c,"has",r),Ye(c,"has",s)),r===s?l.has(r):l.has(r)||l.has(s)},forEach(r,l){const c=this,s=c.__v_raw,f=$e(s),C=t?io:e?vn:vt;return!e&&Ye(f,"iterate",rn),s.forEach((m,g)=>r.call(l,C(m),C(g),c))}};return Ve(n,e?{add:ti("add"),set:ti("set"),delete:ti("delete"),clear:ti("clear")}:{add(r){const l=$e(this),c=ei(l),s=$e(r),f=!t&&!at(r)&&!Dt(r)?s:r;return c.has.call(l,f)||Pt(r,f)&&c.has.call(l,r)||Pt(s,f)&&c.has.call(l,s)||(l.add(f),Gt(l,"add",f,f)),this},set(r,l){!t&&!at(l)&&!Dt(l)&&(l=$e(l));const c=$e(this),{has:s,get:f}=ei(c);let C=s.call(c,r);C||(r=$e(r),C=s.call(c,r));const m=f.call(c,r);return c.set(r,l),C?Pt(l,m)&&Gt(c,"set",r,l):Gt(c,"add",r,l),this},delete(r){const l=$e(this),{has:c,get:s}=ei(l);let f=c.call(l,r);f||(r=$e(r),f=c.call(l,r)),s&&s.call(l,r);const C=l.delete(r);return f&&Gt(l,"delete",r,void 0),C},clear(){const r=$e(this),l=r.size!==0,c=r.clear();return l&&Gt(r,"clear",void 0,void 0),c}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Qa(r,e,t)}),n}function $o(e,t){const n=_a(e,t);return(o,r,l)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(Ce(n,r)&&r in o?n:o,r,l)}const eu={get:$o(!1,!1)},tu={get:$o(!1,!0)},nu={get:$o(!0,!1)};const ms=new WeakMap,gs=new WeakMap,ps=new WeakMap,iu=new WeakMap;function ou(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ru(e){return e.__v_skip||!Object.isExtensible(e)?0:ou(Fa(e))}function ze(e){return Dt(e)?e:wo(e,!1,Xa,eu,ms)}function su(e){return wo(e,!1,Za,tu,gs)}function oo(e){return wo(e,!0,Ja,nu,ps)}function wo(e,t,n,o,r){if(!ke(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=ru(e);if(l===0)return e;const c=r.get(e);if(c)return c;const s=new Proxy(e,l===2?o:n);return r.set(e,s),s}function sn(e){return Dt(e)?sn(e.__v_raw):!!(e&&e.__v_isReactive)}function Dt(e){return!!(e&&e.__v_isReadonly)}function at(e){return!!(e&&e.__v_isShallow)}function Co(e){return e?!!e.__v_raw:!1}function $e(e){const t=e&&e.__v_raw;return t?$e(t):e}function lu(e){return!Ce(e,"__v_skip")&&Object.isExtensible(e)&&Qr(e,"__v_skip",!0),e}const vt=e=>ke(e)?ze(e):e,vn=e=>ke(e)?oo(e):e;function Xe(e){return e?e.__v_isRef===!0:!1}function ve(e){return au(e,!1)}function au(e,t){return Xe(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new So,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:$e(t),this._value=n?t:vt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||at(t)||Dt(t);t=o?t:$e(t),Pt(t,n)&&(this._rawValue=t,this._value=o?t:vt(t),this.dep.trigger())}}function hs(e){return Xe(e)?e.value:e}const cu={get:(e,t,n)=>t==="__v_raw"?e:hs(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Xe(r)&&!Xe(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function vs(e){return sn(e)?e:new Proxy(e,cu)}class du{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new So(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Ae!==this)return os(this,!0),!0}get value(){const t=this.dep.track();return ls(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function fu(e,t,n=!1){let o,r;return ue(e)?o=e:(o=e.get,r=e.set),new du(o,r,n)}const ni={},ui=new WeakMap;let nn;function mu(e,t=!1,n=nn){if(n){let o=ui.get(n);o||ui.set(n,o=[]),o.push(e)}}function gu(e,t,n=Fe){const{immediate:o,deep:r,once:l,scheduler:c,augmentJob:s,call:f}=n,C=M=>r?M:at(M)||r===!1||r===0?Ot(M,1):Ot(M);let m,g,S,k,O=!1,T=!1;if(Xe(e)?(g=()=>e.value,O=at(e)):sn(e)?(g=()=>C(e),O=!0):oe(e)?(T=!0,O=e.some(M=>sn(M)||at(M)),g=()=>e.map(M=>{if(Xe(M))return M.value;if(sn(M))return C(M);if(ue(M))return f?f(M,2):M()})):ue(e)?t?g=f?()=>f(e,2):e:g=()=>{if(S){Lt();try{S()}finally{qt()}}const M=nn;nn=m;try{return f?f(e,3,[k]):e(k)}finally{nn=M}}:g=Tt,t&&r){const M=g,B=r===!0?1/0:r;g=()=>Ot(M(),B)}const w=Ua(),I=()=>{m.stop(),w&&w.active&&go(w.effects,m)};if(l&&t){const M=t;t=(...B)=>{M(...B),I()}}let b=T?new Array(e.length).fill(ni):ni;const P=M=>{if(!(!(m.flags&1)||!m.dirty&&!M))if(t){const B=m.run();if(r||O||(T?B.some((U,W)=>Pt(U,b[W])):Pt(B,b))){S&&S();const U=nn;nn=m;try{const W=[B,b===ni?void 0:T&&b[0]===ni?[]:b,k];b=B,f?f(t,3,W):t(...W)}finally{nn=U}}}else m.run()};return s&&s(P),m=new ns(g),m.scheduler=c?()=>c(P,!1):P,k=M=>mu(M,!1,m),S=m.onStop=()=>{const M=ui.get(m);if(M){if(f)f(M,4);else for(const B of M)B();ui.delete(m)}},t?o?P(!0):b=m.run():c?c(P.bind(null,!0),!0):m.run(),I.pause=m.pause.bind(m),I.resume=m.resume.bind(m),I.stop=I,I}function Ot(e,t=1/0,n){if(t<=0||!ke(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Xe(e))Ot(e.value,t,n);else if(oe(e))for(let o=0;o{Ot(o,t,n)});else if(Jr(e)){for(const o in e)Ot(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Ot(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function Vn(e,t,n,o){try{return o?e(...o):e()}catch(r){Ii(r,t,n)}}function yt(e,t,n,o){if(ue(e)){const r=Vn(e,t,n,o);return r&&Yr(r)&&r.catch(l=>{Ii(l,t,n)}),r}if(oe(e)){const r=[];for(let l=0;l>>1,r=Ze[o],l=Gn(r);l=Gn(n)?Ze.push(e):Ze.splice(vu(t),0,e),e.flags|=1,bs()}}function bs(){ci||(ci=ys.then($s))}function yu(e){oe(e)?pn.push(...e):zt&&e.id===-1?zt.splice(dn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1),bs()}function cr(e,t,n=wt+1){for(;nGn(n)-Gn(o));if(pn.length=0,zt){zt.push(...t);return}for(zt=t,dn=0;dne.id==null?e.flags&2?-1:1/0:e.id;function $s(e){try{for(wt=0;wt{o._d&&gi(-1);const l=di(t);let c;try{c=e(...r)}finally{di(l),o._d&&gi(1)}return c};return o._n=!0,o._c=!0,o._d=!0,o}function ft(e,t){if(lt===null)return e;const n=Ni(lt),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&ue(t)?t.call(o&&o.proxy):t}}const Su=Symbol.for("v-scx"),$u=()=>ri(Su);function Ue(e,t,n){return Cs(e,t,n)}function Cs(e,t,n=Fe){const{immediate:o,deep:r,flush:l,once:c}=n,s=Ve({},n),f=t&&o||!t&&l!=="post";let C;if(Ln){if(l==="sync"){const k=$u();C=k.__watcherHandles||(k.__watcherHandles=[])}else if(!f){const k=()=>{};return k.stop=Tt,k.resume=Tt,k.pause=Tt,k}}const m=_e;s.call=(k,O,T)=>yt(k,m,O,T);let g=!1;l==="post"?s.scheduler=k=>{nt(k,m&&m.suspense)}:l!=="sync"&&(g=!0,s.scheduler=(k,O)=>{O?k():ko(k)}),s.augmentJob=k=>{t&&(k.flags|=4),g&&(k.flags|=2,m&&(k.id=m.uid,k.i=m))};const S=gu(e,t,s);return Ln&&(C?C.push(S):f&&S()),S}function wu(e,t,n){const o=this.proxy,r=Oe(e)?e.includes(".")?ks(o,e):()=>o[e]:e.bind(o,o);let l;ue(t)?l=t:(l=t.handler,n=t);const c=Hn(this),s=Cs(r,l.bind(o),n);return c(),s}function ks(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Ct=Symbol("_leaveCb"),$n=Symbol("_enterCb");function ku(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return jn(()=>{e.isMounted=!0}),Kn(()=>{e.isUnmounting=!0}),e}const st=[Function,Array],Ps={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:st,onEnter:st,onAfterEnter:st,onEnterCancelled:st,onBeforeLeave:st,onLeave:st,onAfterLeave:st,onLeaveCancelled:st,onBeforeAppear:st,onAppear:st,onAfterAppear:st,onAppearCancelled:st},Ts=e=>{const t=e.subTree;return t.component?Ts(t.component):t},Iu={name:"BaseTransition",props:Ps,setup(e,{slots:t}){const n=_s(),o=ku();return()=>{const r=t.default&&Ns(t.default(),!0);if(!r||!r.length)return;const l=Fs(r),c=$e(e),{mode:s}=c;if(o.isLeaving)return zi(l);const f=dr(l);if(!f)return zi(l);let C=ro(f,c,o,n,g=>C=g);f.type!==Qe&&On(f,C);let m=n.subTree&&dr(n.subTree);if(m&&m.type!==Qe&&!on(m,f)&&Ts(n).type!==Qe){let g=ro(m,c,o,n);if(On(m,g),s==="out-in"&&f.type!==Qe)return o.isLeaving=!0,g.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete g.afterLeave,m=void 0},zi(l);s==="in-out"&&f.type!==Qe?g.delayLeave=(S,k,O)=>{const T=As(o,m);T[String(m.key)]=m,S[Ct]=()=>{k(),S[Ct]=void 0,delete C.delayedLeave,m=void 0},C.delayedLeave=()=>{O(),delete C.delayedLeave,m=void 0}}:m=void 0}else m&&(m=void 0);return l}}};function Fs(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Qe){t=n;break}}return t}const Pu=Iu;function As(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function ro(e,t,n,o,r){const{appear:l,mode:c,persisted:s=!1,onBeforeEnter:f,onEnter:C,onAfterEnter:m,onEnterCancelled:g,onBeforeLeave:S,onLeave:k,onAfterLeave:O,onLeaveCancelled:T,onBeforeAppear:w,onAppear:I,onAfterAppear:b,onAppearCancelled:P}=t,M=String(e.key),B=As(n,e),U=(V,J)=>{V&&yt(V,o,9,J)},W=(V,J)=>{const ne=J[1];U(V,J),oe(V)?V.every(q=>q.length<=1)&&ne():V.length<=1&&ne()},Z={mode:c,persisted:s,beforeEnter(V){let J=f;if(!n.isMounted)if(l)J=w||f;else return;V[Ct]&&V[Ct](!0);const ne=B[M];ne&&on(e,ne)&&ne.el[Ct]&&ne.el[Ct](),U(J,[V])},enter(V){if(B[M]===e)return;let J=C,ne=m,q=g;if(!n.isMounted)if(l)J=I||C,ne=b||m,q=P||g;else return;let re=!1;V[$n]=Be=>{re||(re=!0,Be?U(q,[V]):U(ne,[V]),Z.delayedLeave&&Z.delayedLeave(),V[$n]=void 0)};const ye=V[$n].bind(null,!1);J?W(J,[V,ye]):ye()},leave(V,J){const ne=String(e.key);if(V[$n]&&V[$n](!0),n.isUnmounting)return J();U(S,[V]);let q=!1;V[Ct]=ye=>{q||(q=!0,J(),ye?U(T,[V]):U(O,[V]),V[Ct]=void 0,B[ne]===e&&delete B[ne])};const re=V[Ct].bind(null,!1);B[ne]=e,k?W(k,[V,re]):re()},clone(V){const J=ro(V,t,n,o,r);return r&&r(J),J}};return Z}function zi(e){if(Pi(e))return e=Xt(e),e.children=null,e}function dr(e){if(!Pi(e))return Is(e.type)&&e.children?Fs(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ue(n.default))return n.default()}}function On(e,t){e.shapeFlag&6&&e.component?(e.transition=t,On(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ns(e,t=!1,n){let o=[],r=0;for(let l=0;l1)for(let l=0;lAn(T,t&&(oe(t)?t[w]:t),n,o,r));return}if(Nn(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&An(e,t,n,o.component.subTree);return}const l=o.shapeFlag&4?Ni(o.component):o.el,c=r?null:l,{i:s,r:f}=e,C=t&&t.r,m=s.refs===Fe?s.refs={}:s.refs,g=s.setupState,S=$e(g),k=g===Fe?Wr:T=>fr(m,T)?!1:Ce(S,T),O=(T,w)=>!(w&&fr(m,w));if(C!=null&&C!==f){if(mr(t),Oe(C))m[C]=null,k(C)&&(g[C]=null);else if(Xe(C)){const T=t;O(C,T.k)&&(C.value=null),T.k&&(m[T.k]=null)}}if(ue(f))Vn(f,s,12,[c,m]);else{const T=Oe(f),w=Xe(f);if(T||w){const I=()=>{if(e.f){const b=T?k(f)?g[f]:m[f]:O()||!e.k?f.value:m[e.k];if(r)oe(b)&&go(b,l);else if(oe(b))b.includes(l)||b.push(l);else if(T)m[f]=[l],k(f)&&(g[f]=m[f]);else{const P=[l];O(f,e.k)&&(f.value=P),e.k&&(m[e.k]=P)}}else T?(m[f]=c,k(f)&&(g[f]=c)):w&&(O(f,e.k)&&(f.value=c),e.k&&(m[e.k]=c))};if(c){const b=()=>{I(),fi.delete(e)};b.id=-1,fi.set(e,b),nt(b,n)}else mr(e),I()}}}function mr(e){const t=fi.get(e);t&&(t.flags|=8,fi.delete(e))}Ci().requestIdleCallback;Ci().cancelIdleCallback;const Nn=e=>!!e.type.__asyncLoader,Pi=e=>e.type.__isKeepAlive;function Tu(e,t){Rs(e,"a",t)}function Fu(e,t){Rs(e,"da",t)}function Rs(e,t,n=_e){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ti(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Pi(r.parent.vnode)&&Au(o,t,n,r),r=r.parent}}function Au(e,t,n,o){const r=Ti(t,e,o,!0);Ms(()=>{go(o[t],r)},n)}function Ti(e,t,n=_e,o=!1){if(n){const r=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...c)=>{Lt();const s=Hn(n),f=yt(t,n,e,c);return s(),qt(),f});return o?r.unshift(l):r.push(l),l}}const Ut=e=>(t,n=_e)=>{(!Ln||e==="sp")&&Ti(e,(...o)=>t(...o),n)},Nu=Ut("bm"),jn=Ut("m"),Eu=Ut("bu"),Ru=Ut("u"),Kn=Ut("bum"),Ms=Ut("um"),Mu=Ut("sp"),xu=Ut("rtg"),Gu=Ut("rtc");function Ou(e,t=_e){Ti("ec",e,t)}const Bu=Symbol.for("v-ndc");function de(e,t,n,o){let r;const l=n,c=oe(e);if(c||Oe(e)){const s=c&&sn(e);let f=!1,C=!1;s&&(f=!at(e),C=Dt(e),e=ki(e)),r=new Array(e.length);for(let m=0,g=e.length;mt(s,f,void 0,l));else{const s=Object.keys(e);r=new Array(s.length);for(let f=0,C=s.length;fe?el(e)?Ni(e):so(e.parent):null,En=Ve(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>so(e.parent),$root:e=>so(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gs(e),$forceUpdate:e=>e.f||(e.f=()=>{ko(e.update)}),$nextTick:e=>e.n||(e.n=hu.bind(e.proxy)),$watch:e=>wu.bind(e)}),Yi=(e,t)=>e!==Fe&&!e.__isScriptSetup&&Ce(e,t),Lu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:l,accessCache:c,type:s,appContext:f}=e;if(t[0]!=="$"){const S=c[t];if(S!==void 0)switch(S){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return l[t]}else{if(Yi(o,t))return c[t]=1,o[t];if(r!==Fe&&Ce(r,t))return c[t]=2,r[t];if(Ce(l,t))return c[t]=3,l[t];if(n!==Fe&&Ce(n,t))return c[t]=4,n[t];lo&&(c[t]=0)}}const C=En[t];let m,g;if(C)return t==="$attrs"&&Ye(e.attrs,"get",""),C(e);if((m=s.__cssModules)&&(m=m[t]))return m;if(n!==Fe&&Ce(n,t))return c[t]=4,n[t];if(g=f.config.globalProperties,Ce(g,t))return g[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:l}=e;return Yi(r,t)?(r[t]=n,!0):o!==Fe&&Ce(o,t)?(o[t]=n,!0):Ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:l,type:c}},s){let f;return!!(n[s]||e!==Fe&&s[0]!=="$"&&Ce(e,s)||Yi(t,s)||Ce(l,s)||Ce(o,s)||Ce(En,s)||Ce(r.config.globalProperties,s)||(f=c.__cssModules)&&f[s])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function gr(e){return oe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let lo=!0;function qu(e){const t=Gs(e),n=e.proxy,o=e.ctx;lo=!1,t.beforeCreate&&pr(t.beforeCreate,e,"bc");const{data:r,computed:l,methods:c,watch:s,provide:f,inject:C,created:m,beforeMount:g,mounted:S,beforeUpdate:k,updated:O,activated:T,deactivated:w,beforeDestroy:I,beforeUnmount:b,destroyed:P,unmounted:M,render:B,renderTracked:U,renderTriggered:W,errorCaptured:Z,serverPrefetch:V,expose:J,inheritAttrs:ne,components:q,directives:re,filters:ye}=t;if(C&&Du(C,o,null),c)for(const be in c){const ge=c[be];ue(ge)&&(o[be]=ge.bind(n))}if(r){const be=r.call(n,n);ke(be)&&(e.data=ze(be))}if(lo=!0,l)for(const be in l){const ge=l[be],Ee=ue(ge)?ge.bind(n,n):ue(ge.get)?ge.get.bind(n,n):Tt,We=!ue(ge)&&ue(ge.set)?ge.set.bind(n):Tt,et=L({get:Ee,set:We});Object.defineProperty(o,be,{enumerable:!0,configurable:!0,get:()=>et.value,set:je=>et.value=je})}if(s)for(const be in s)xs(s[be],o,n,be);if(f){const be=ue(f)?f.call(n):f;Reflect.ownKeys(be).forEach(ge=>{bu(ge,be[ge])})}m&&pr(m,e,"c");function Te(be,ge){oe(ge)?ge.forEach(Ee=>be(Ee.bind(n))):ge&&be(ge.bind(n))}if(Te(Nu,g),Te(jn,S),Te(Eu,k),Te(Ru,O),Te(Tu,T),Te(Fu,w),Te(Ou,Z),Te(Gu,U),Te(xu,W),Te(Kn,b),Te(Ms,M),Te(Mu,V),oe(J))if(J.length){const be=e.exposed||(e.exposed={});J.forEach(ge=>{Object.defineProperty(be,ge,{get:()=>n[ge],set:Ee=>n[ge]=Ee,enumerable:!0})})}else e.exposed||(e.exposed={});B&&e.render===Tt&&(e.render=B),ne!=null&&(e.inheritAttrs=ne),q&&(e.components=q),re&&(e.directives=re),V&&Es(e)}function Du(e,t,n=Tt){oe(e)&&(e=ao(e));for(const o in e){const r=e[o];let l;ke(r)?"default"in r?l=ri(r.from||o,r.default,!0):l=ri(r.from||o):l=ri(r),Xe(l)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:c=>l.value=c}):t[o]=l}}function pr(e,t,n){yt(oe(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function xs(e,t,n,o){let r=o.includes(".")?ks(n,o):()=>n[o];if(Oe(e)){const l=t[e];ue(l)&&Ue(r,l)}else if(ue(e))Ue(r,e.bind(n));else if(ke(e))if(oe(e))e.forEach(l=>xs(l,t,n,o));else{const l=ue(e.handler)?e.handler.bind(n):t[e.handler];ue(l)&&Ue(r,l,e)}}function Gs(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:l,config:{optionMergeStrategies:c}}=e.appContext,s=l.get(t);let f;return s?f=s:!r.length&&!n&&!o?f=t:(f={},r.length&&r.forEach(C=>mi(f,C,c,!0)),mi(f,t,c)),ke(t)&&l.set(t,f),f}function mi(e,t,n,o=!1){const{mixins:r,extends:l}=t;l&&mi(e,l,n,!0),r&&r.forEach(c=>mi(e,c,n,!0));for(const c in t)if(!(o&&c==="expose")){const s=Uu[c]||n&&n[c];e[c]=s?s(e[c],t[c]):t[c]}return e}const Uu={data:hr,props:vr,emits:vr,methods:In,computed:In,beforeCreate:Je,created:Je,beforeMount:Je,mounted:Je,beforeUpdate:Je,updated:Je,beforeDestroy:Je,beforeUnmount:Je,destroyed:Je,unmounted:Je,activated:Je,deactivated:Je,errorCaptured:Je,serverPrefetch:Je,components:In,directives:In,watch:ju,provide:hr,inject:Vu};function hr(e,t){return t?e?function(){return Ve(ue(e)?e.call(this,this):e,ue(t)?t.call(this,this):t)}:t:e}function Vu(e,t){return In(ao(e),ao(t))}function ao(e){if(oe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${gt(t)}Modifiers`]||e[`${Jt(t)}Modifiers`];function zu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||Fe;let r=n;const l=t.startsWith("update:"),c=l&&Wu(o,t.slice(7));c&&(c.trim&&(r=n.map(m=>Oe(m)?m.trim():m)),c.number&&(r=n.map(Ea)));let s,f=o[s=Ui(t)]||o[s=Ui(gt(t))];!f&&l&&(f=o[s=Ui(Jt(t))]),f&&yt(f,e,6,r);const C=o[s+"Once"];if(C){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,yt(C,e,6,r)}}const Yu=new WeakMap;function Bs(e,t,n=!1){const o=n?Yu:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const l=e.emits;let c={},s=!1;if(!ue(e)){const f=C=>{const m=Bs(C,t,!0);m&&(s=!0,Ve(c,m))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!l&&!s?(ke(e)&&o.set(e,null),null):(oe(l)?l.forEach(f=>c[f]=null):Ve(c,l),ke(e)&&o.set(e,c),c)}function Fi(e,t){return!e||!Si(t)?!1:(t=t.slice(2).replace(/Once$/,""),Ce(e,t[0].toLowerCase()+t.slice(1))||Ce(e,Jt(t))||Ce(e,t))}function yr(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[l],slots:c,attrs:s,emit:f,render:C,renderCache:m,props:g,data:S,setupState:k,ctx:O,inheritAttrs:T}=e,w=di(e);let I,b;try{if(n.shapeFlag&4){const M=r||o,B=M;I=It(C.call(B,M,m,g,k,S,O)),b=s}else{const M=t;I=It(M.length>1?M(g,{attrs:s,slots:c,emit:f}):M(g,null)),b=t.props?s:Xu(s)}}catch(M){Rn.length=0,Ii(M,e,1),I=me(Qe)}let P=I;if(b&&T!==!1){const M=Object.keys(b),{shapeFlag:B}=P;M.length&&B&7&&(l&&M.some($i)&&(b=Ju(b,l)),P=Xt(P,b,!1,!0))}return n.dirs&&(P=Xt(P,null,!1,!0),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition&&On(P,n.transition),I=P,di(w),I}const Xu=e=>{let t;for(const n in e)(n==="class"||n==="style"||Si(n))&&((t||(t={}))[n]=e[n]);return t},Ju=(e,t)=>{const n={};for(const o in e)(!$i(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Zu(e,t,n){const{props:o,children:r,component:l}=e,{props:c,children:s,patchFlag:f}=t,C=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return o?br(o,c,C):!!c;if(f&8){const m=t.dynamicProps;for(let g=0;gObject.create(qs),Us=e=>Object.getPrototypeOf(e)===qs;function _u(e,t,n,o=!1){const r={},l=Ds();e.propsDefaults=Object.create(null),Vs(e,t,r,l);for(const c in e.propsOptions[0])c in r||(r[c]=void 0);n?e.props=o?r:su(r):e.type.props?e.props=r:e.props=l,e.attrs=l}function ec(e,t,n,o){const{props:r,attrs:l,vnode:{patchFlag:c}}=e,s=$e(r),[f]=e.propsOptions;let C=!1;if((o||c>0)&&!(c&16)){if(c&8){const m=e.vnode.dynamicProps;for(let g=0;g{f=!0;const[S,k]=js(g,t,!0);Ve(c,S),k&&s.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(m),e.extends&&m(e.extends),e.mixins&&e.mixins.forEach(m)}if(!l&&!f)return ke(e)&&o.set(e,mn),mn;if(oe(l))for(let m=0;me==="_"||e==="_ctx"||e==="$stable",Po=e=>oe(e)?e.map(It):[It(e)],nc=(e,t,n)=>{if(t._n)return t;const o=Mt((...r)=>Po(t(...r)),n);return o._c=!1,o},Ks=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Io(r))continue;const l=e[r];if(ue(l))t[r]=nc(r,l,o);else if(l!=null){const c=Po(l);t[r]=()=>c}}},Hs=(e,t)=>{const n=Po(t);e.slots.default=()=>n},Ws=(e,t,n)=>{for(const o in t)(n||!Io(o))&&(e[o]=t[o])},ic=(e,t,n)=>{const o=e.slots=Ds();if(e.vnode.shapeFlag&32){const r=t._;r?(Ws(o,t,n),n&&Qr(o,"_",r,!0)):Ks(t,o)}else t&&Hs(e,t)},oc=(e,t,n)=>{const{vnode:o,slots:r}=e;let l=!0,c=Fe;if(o.shapeFlag&32){const s=t._;s?n&&s===1?l=!1:Ws(r,t,n):(l=!t.$stable,Ks(t,r)),c=t}else t&&(Hs(e,t),c={default:1});if(l)for(const s in r)!Io(s)&&c[s]==null&&delete r[s]},nt=uc;function rc(e){return sc(e)}function sc(e,t){const n=Ci();n.__VUE__=!0;const{insert:o,remove:r,patchProp:l,createElement:c,createText:s,createComment:f,setText:C,setElementText:m,parentNode:g,nextSibling:S,setScopeId:k=Tt,insertStaticContent:O}=e,T=(h,$,A,R=null,N=null,E=null,H=void 0,j=null,D=!!$.dynamicChildren)=>{if(h===$)return;h&&!on(h,$)&&(R=z(h),je(h,N,E,!0),h=null),$.patchFlag===-2&&(D=!1,$.dynamicChildren=null);const{type:x,ref:ee,shapeFlag:K}=$;switch(x){case Ai:w(h,$,A,R);break;case Qe:I(h,$,A,R);break;case si:h==null&&b($,A,R,H);break;case _:q(h,$,A,R,N,E,H,j,D);break;default:K&1?B(h,$,A,R,N,E,H,j,D):K&6?re(h,$,A,R,N,E,H,j,D):(K&64||K&128)&&x.process(h,$,A,R,N,E,H,j,D,Se)}ee!=null&&N?An(ee,h&&h.ref,E,$||h,!$):ee==null&&h&&h.ref!=null&&An(h.ref,null,E,h,!0)},w=(h,$,A,R)=>{if(h==null)o($.el=s($.children),A,R);else{const N=$.el=h.el;$.children!==h.children&&C(N,$.children)}},I=(h,$,A,R)=>{h==null?o($.el=f($.children||""),A,R):$.el=h.el},b=(h,$,A,R)=>{[h.el,h.anchor]=O(h.children,$,A,R,h.el,h.anchor)},P=({el:h,anchor:$},A,R)=>{let N;for(;h&&h!==$;)N=S(h),o(h,A,R),h=N;o($,A,R)},M=({el:h,anchor:$})=>{let A;for(;h&&h!==$;)A=S(h),r(h),h=A;r($)},B=(h,$,A,R,N,E,H,j,D)=>{if($.type==="svg"?H="svg":$.type==="math"&&(H="mathml"),h==null)U($,A,R,N,E,H,j,D);else{const x=h.el&&h.el._isVueCE?h.el:null;try{x&&x._beginPatch(),V(h,$,N,E,H,j,D)}finally{x&&x._endPatch()}}},U=(h,$,A,R,N,E,H,j)=>{let D,x;const{props:ee,shapeFlag:K,transition:Q,dirs:ie}=h;if(D=h.el=c(h.type,E,ee&&ee.is,ee),K&8?m(D,h.children):K&16&&Z(h.children,D,null,R,N,Xi(h,E),H,j),ie&&Qt(h,null,R,"created"),W(D,h,h.scopeId,H,R),ee){for(const Ie in ee)Ie!=="value"&&!Pn(Ie)&&l(D,Ie,null,ee[Ie],E,R);"value"in ee&&l(D,"value",null,ee.value,E),(x=ee.onVnodeBeforeMount)&&$t(x,R,h)}ie&&Qt(h,null,R,"beforeMount");const pe=lc(N,Q);pe&&Q.beforeEnter(D),o(D,$,A),((x=ee&&ee.onVnodeMounted)||pe||ie)&&nt(()=>{try{x&&$t(x,R,h),pe&&Q.enter(D),ie&&Qt(h,null,R,"mounted")}finally{}},N)},W=(h,$,A,R,N)=>{if(A&&k(h,A),R)for(let E=0;E{for(let x=D;x{const j=$.el=h.el;let{patchFlag:D,dynamicChildren:x,dirs:ee}=$;D|=h.patchFlag&16;const K=h.props||Fe,Q=$.props||Fe;let ie;if(A&&_t(A,!1),(ie=Q.onVnodeBeforeUpdate)&&$t(ie,A,$,h),ee&&Qt($,h,A,"beforeUpdate"),A&&_t(A,!0),(K.innerHTML&&Q.innerHTML==null||K.textContent&&Q.textContent==null)&&m(j,""),x?J(h.dynamicChildren,x,j,A,R,Xi($,N),E):H||ge(h,$,j,null,A,R,Xi($,N),E,!1),D>0){if(D&16)ne(j,K,Q,A,N);else if(D&2&&K.class!==Q.class&&l(j,"class",null,Q.class,N),D&4&&l(j,"style",K.style,Q.style,N),D&8){const pe=$.dynamicProps;for(let Ie=0;Ie{ie&&$t(ie,A,$,h),ee&&Qt($,h,A,"updated")},R)},J=(h,$,A,R,N,E,H)=>{for(let j=0;j<$.length;j++){const D=h[j],x=$[j],ee=D.el&&(D.type===_||!on(D,x)||D.shapeFlag&198)?g(D.el):A;T(D,x,ee,null,R,N,E,H,!0)}},ne=(h,$,A,R,N)=>{if($!==A){if($!==Fe)for(const E in $)!Pn(E)&&!(E in A)&&l(h,E,$[E],null,N,R);for(const E in A){if(Pn(E))continue;const H=A[E],j=$[E];H!==j&&E!=="value"&&l(h,E,j,H,N,R)}"value"in A&&l(h,"value",$.value,A.value,N)}},q=(h,$,A,R,N,E,H,j,D)=>{const x=$.el=h?h.el:s(""),ee=$.anchor=h?h.anchor:s("");let{patchFlag:K,dynamicChildren:Q,slotScopeIds:ie}=$;ie&&(j=j?j.concat(ie):ie),h==null?(o(x,A,R),o(ee,A,R),Z($.children||[],A,ee,N,E,H,j,D)):K>0&&K&64&&Q&&h.dynamicChildren&&h.dynamicChildren.length===Q.length?(J(h.dynamicChildren,Q,A,N,E,H,j),($.key!=null||N&&$===N.subTree)&&zs(h,$,!0)):ge(h,$,A,ee,N,E,H,j,D)},re=(h,$,A,R,N,E,H,j,D)=>{$.slotScopeIds=j,h==null?$.shapeFlag&512?N.ctx.activate($,A,R,H,D):ye($,A,R,N,E,H,D):Be(h,$,D)},ye=(h,$,A,R,N,E,H)=>{const j=h.component=yc(h,R,N);if(Pi(h)&&(j.ctx.renderer=Se),bc(j,!1,H),j.asyncDep){if(N&&N.registerDep(j,Te,H),!h.el){const D=j.subTree=me(Qe);I(null,D,$,A),h.placeholder=D.el}}else Te(j,h,$,A,N,E,H)},Be=(h,$,A)=>{const R=$.component=h.component;if(Zu(h,$,A))if(R.asyncDep&&!R.asyncResolved){be(R,$,A);return}else R.next=$,R.update();else $.el=h.el,R.vnode=$},Te=(h,$,A,R,N,E,H)=>{const j=()=>{if(h.isMounted){let{next:K,bu:Q,u:ie,parent:pe,vnode:Ie}=h;{const Ke=Ys(h);if(Ke){K&&(K.el=Ie.el,be(h,K,H)),Ke.asyncDep.then(()=>{nt(()=>{h.isUnmounted||x()},N)});return}}let Pe=K,xe;_t(h,!1),K?(K.el=Ie.el,be(h,K,H)):K=Ie,Q&&Vi(Q),(xe=K.props&&K.props.onVnodeBeforeUpdate)&&$t(xe,pe,K,Ie),_t(h,!0);const Le=yr(h),rt=h.subTree;h.subTree=Le,T(rt,Le,g(rt.el),z(rt),h,N,E),K.el=Le.el,Pe===null&&Qu(h,Le.el),ie&&nt(ie,N),(xe=K.props&&K.props.onVnodeUpdated)&&nt(()=>$t(xe,pe,K,Ie),N)}else{let K;const{el:Q,props:ie}=$,{bm:pe,m:Ie,parent:Pe,root:xe,type:Le}=h,rt=Nn($);_t(h,!1),pe&&Vi(pe),!rt&&(K=ie&&ie.onVnodeBeforeMount)&&$t(K,Pe,$),_t(h,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(Le,h.parent?h.parent.type:void 0);const Ke=h.subTree=yr(h);T(null,Ke,A,R,h,N,E),$.el=Ke.el}if(Ie&&nt(Ie,N),!rt&&(K=ie&&ie.onVnodeMounted)){const Ke=$;nt(()=>$t(K,Pe,Ke),N)}($.shapeFlag&256||Pe&&Nn(Pe.vnode)&&Pe.vnode.shapeFlag&256)&&h.a&&nt(h.a,N),h.isMounted=!0,$=A=R=null}};h.scope.on();const D=h.effect=new ns(j);h.scope.off();const x=h.update=D.run.bind(D),ee=h.job=D.runIfDirty.bind(D);ee.i=h,ee.id=h.uid,D.scheduler=()=>ko(ee),_t(h,!0),x()},be=(h,$,A)=>{$.component=h;const R=h.vnode.props;h.vnode=$,h.next=null,ec(h,$.props,R,A),oc(h,$.children,A),Lt(),cr(h),qt()},ge=(h,$,A,R,N,E,H,j,D=!1)=>{const x=h&&h.children,ee=h?h.shapeFlag:0,K=$.children,{patchFlag:Q,shapeFlag:ie}=$;if(Q>0){if(Q&128){We(x,K,A,R,N,E,H,j,D);return}else if(Q&256){Ee(x,K,A,R,N,E,H,j,D);return}}ie&8?(ee&16&&se(x,N,E),K!==x&&m(A,K)):ee&16?ie&16?We(x,K,A,R,N,E,H,j,D):se(x,N,E,!0):(ee&8&&m(A,""),ie&16&&Z(K,A,R,N,E,H,j,D))},Ee=(h,$,A,R,N,E,H,j,D)=>{h=h||mn,$=$||mn;const x=h.length,ee=$.length,K=Math.min(x,ee);let Q;for(Q=0;Qee?se(h,N,E,!0,!1,K):Z($,A,R,N,E,H,j,D,K)},We=(h,$,A,R,N,E,H,j,D)=>{let x=0;const ee=$.length;let K=h.length-1,Q=ee-1;for(;x<=K&&x<=Q;){const ie=h[x],pe=$[x]=D?xt($[x]):It($[x]);if(on(ie,pe))T(ie,pe,A,null,N,E,H,j,D);else break;x++}for(;x<=K&&x<=Q;){const ie=h[K],pe=$[Q]=D?xt($[Q]):It($[Q]);if(on(ie,pe))T(ie,pe,A,null,N,E,H,j,D);else break;K--,Q--}if(x>K){if(x<=Q){const ie=Q+1,pe=ieQ)for(;x<=K;)je(h[x],N,E,!0),x++;else{const ie=x,pe=x,Ie=new Map;for(x=pe;x<=Q;x++){const He=$[x]=D?xt($[x]):It($[x]);He.key!=null&&Ie.set(He.key,x)}let Pe,xe=0;const Le=Q-pe+1;let rt=!1,Ke=0;const ct=new Array(Le);for(x=0;x=Le){je(He,N,E,!0);continue}let qe;if(He.key!=null)qe=Ie.get(He.key);else for(Pe=pe;Pe<=Q;Pe++)if(ct[Pe-pe]===0&&on(He,$[Pe])){qe=Pe;break}qe===void 0?je(He,N,E,!0):(ct[qe-pe]=x+1,qe>=Ke?Ke=qe:rt=!0,T(He,$[qe],A,null,N,E,H,j,D),xe++)}const Wn=rt?ac(ct):mn;for(Pe=Wn.length-1,x=Le-1;x>=0;x--){const He=pe+x,qe=$[He],dt=$[He+1],yn=He+1{const{el:E,type:H,transition:j,children:D,shapeFlag:x}=h;if(x&6){et(h.component.subTree,$,A,R);return}if(x&128){h.suspense.move($,A,R);return}if(x&64){H.move(h,$,A,Se);return}if(H===_){o(E,$,A);for(let K=0;Kj.enter(E),N);else{const{leave:K,delayLeave:Q,afterLeave:ie}=j,pe=()=>{h.ctx.isUnmounted?r(E):o(E,$,A)},Ie=()=>{E._isLeaving&&E[Ct](!0),K(E,()=>{pe(),ie&&ie()})};Q?Q(E,pe,Ie):Ie()}else o(E,$,A)},je=(h,$,A,R=!1,N=!1)=>{const{type:E,props:H,ref:j,children:D,dynamicChildren:x,shapeFlag:ee,patchFlag:K,dirs:Q,cacheIndex:ie,memo:pe}=h;if(K===-2&&(N=!1),j!=null&&(Lt(),An(j,null,A,h,!0),qt()),ie!=null&&($.renderCache[ie]=void 0),ee&256){$.ctx.deactivate(h);return}const Ie=ee&1&&Q,Pe=!Nn(h);let xe;if(Pe&&(xe=H&&H.onVnodeBeforeUnmount)&&$t(xe,$,h),ee&6)bt(h.component,A,R);else{if(ee&128){h.suspense.unmount(A,R);return}Ie&&Qt(h,null,$,"beforeUnmount"),ee&64?h.type.remove(h,$,A,Se,R):x&&!x.hasOnce&&(E!==_||K>0&&K&64)?se(x,$,A,!1,!0):(E===_&&K&384||!N&&ee&16)&&se(D,$,A),R&&tt(h)}const Le=pe!=null&&ie==null;(Pe&&(xe=H&&H.onVnodeUnmounted)||Ie||Le)&&nt(()=>{xe&&$t(xe,$,h),Ie&&Qt(h,null,$,"unmounted"),Le&&(h.el=null)},A)},tt=h=>{const{type:$,el:A,anchor:R,transition:N}=h;if($===_){ut(A,R);return}if($===si){M(h);return}const E=()=>{r(A),N&&!N.persisted&&N.afterLeave&&N.afterLeave()};if(h.shapeFlag&1&&N&&!N.persisted){const{leave:H,delayLeave:j}=N,D=()=>H(A,E);j?j(h.el,E,D):D()}else E()},ut=(h,$)=>{let A;for(;h!==$;)A=S(h),r(h),h=A;r($)},bt=(h,$,A)=>{const{bum:R,scope:N,job:E,subTree:H,um:j,m:D,a:x}=h;$r(D),$r(x),R&&Vi(R),N.stop(),E&&(E.flags|=8,je(H,h,$,A)),j&&nt(j,$),nt(()=>{h.isUnmounted=!0},$)},se=(h,$,A,R=!1,N=!1,E=0)=>{for(let H=E;H{if(h.shapeFlag&6)return z(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const $=S(h.anchor||h.el),A=$&&$[Cu];return A?S(A):$};let ce=!1;const X=(h,$,A)=>{let R;h==null?$._vnode&&(je($._vnode,null,null,!0),R=$._vnode.component):T($._vnode||null,h,$,null,null,null,A),$._vnode=h,ce||(ce=!0,cr(R),Ss(),ce=!1)},Se={p:T,um:je,m:et,r:tt,mt:ye,mc:Z,pc:ge,pbc:J,n:z,o:e};return{render:X,hydrate:void 0,createApp:Hu(X)}}function Xi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function _t({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function lc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const o=e.children,r=t.children;if(oe(o)&&oe(r))for(let l=0;l>1,e[n[s]]0&&(t[o]=n[l-1]),n[l]=o)}}for(l=n.length,c=n[l-1];l-- >0;)n[l]=c,c=t[c];return n}function Ys(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ys(t)}function $r(e){if(e)for(let t=0;te.__isSuspense;function uc(e,t){t&&t.pendingBranch?oe(e)?t.effects.push(...e):t.effects.push(e):yu(e)}const _=Symbol.for("v-fgt"),Ai=Symbol.for("v-txt"),Qe=Symbol.for("v-cmt"),si=Symbol.for("v-stc"),Rn=[];let ot=null;function v(e=!1){Rn.push(ot=e?null:[])}function cc(){Rn.pop(),ot=Rn[Rn.length-1]||null}let Bn=1;function gi(e,t=!1){Bn+=e,e<0&&ot&&t&&(ot.hasOnce=!0)}function Zs(e){return e.dynamicChildren=Bn>0?ot||mn:null,cc(),Bn>0&&ot&&ot.push(e),e}function y(e,t,n,o,r,l){return Zs(i(e,t,n,o,r,l,!0))}function fn(e,t,n,o,r){return Zs(me(e,t,n,o,r,!0))}function pi(e){return e?e.__v_isVNode===!0:!1}function on(e,t){return e.type===t.type&&e.key===t.key}const Qs=({key:e})=>e??null,li=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Oe(e)||Xe(e)||ue(e)?{i:lt,r:e,k:t,f:!!n}:e:null);function i(e,t=null,n=null,o=0,r=null,l=e===_?0:1,c=!1,s=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qs(t),ref:t&&li(t),scopeId:ws,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:lt};return s?(To(f,n),l&128&&e.normalize(f)):n&&(f.shapeFlag|=Oe(n)?8:16),Bn>0&&!c&&ot&&(f.patchFlag>0||l&6)&&f.patchFlag!==32&&ot.push(f),f}const me=dc;function dc(e,t=null,n=null,o=0,r=null,l=!1){if((!e||e===Bu)&&(e=Qe),pi(e)){const s=Xt(e,t,!0);return n&&To(s,n),Bn>0&&!l&&ot&&(s.shapeFlag&6?ot[ot.indexOf(e)]=s:ot.push(s)),s.patchFlag=-2,s}if(Cc(e)&&(e=e.__vccOpts),t){t=fc(t);let{class:s,style:f}=t;s&&!Oe(s)&&(t.class=le(s)),ke(f)&&(Co(f)&&!oe(f)&&(f=Ve({},f)),t.style=Bt(f))}const c=Oe(e)?1:Js(e)?128:Is(e)?64:ke(e)?4:ue(e)?2:0;return i(e,t,n,o,r,c,l,!0)}function fc(e){return e?Co(e)||Us(e)?Ve({},e):e:null}function Xt(e,t,n=!1,o=!1){const{props:r,ref:l,patchFlag:c,children:s,transition:f}=e,C=t?pc(r||{},t):r,m={__v_isVNode:!0,__v_skip:!0,type:e.type,props:C,key:C&&Qs(C),ref:t&&t.ref?n&&l?oe(l)?l.concat(li(t)):[l,li(t)]:li(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_?c===-1?16:c|16:c,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Xt(e.ssContent),ssFallback:e.ssFallback&&Xt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&o&&On(m,f.clone(m)),m}function mc(e=" ",t=0){return me(Ai,null,e,t)}function gc(e,t){const n=me(si,null,e);return n.staticCount=t,n}function G(e="",t=!1){return t?(v(),fn(Qe,null,e)):me(Qe,null,e)}function It(e){return e==null||typeof e=="boolean"?me(Qe):oe(e)?me(_,null,e.slice()):pi(e)?xt(e):me(Ai,null,String(e))}function xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Xt(e)}function To(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(oe(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),To(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Us(t)?t._ctx=lt:r===3&<&&(lt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ue(t)?(t={default:t,_ctx:lt},n=32):(t=String(t),o&64?(n=16,t=[mc(t)]):n=8);e.children=t,e.shapeFlag|=n}function pc(...e){const t={};for(let n=0;n_e||lt;let hi,co;{const e=Ci(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),l=>{r.length>1?r.forEach(c=>c(l)):r[0](l)}};hi=t("__VUE_INSTANCE_SETTERS__",n=>_e=n),co=t("__VUE_SSR_SETTERS__",n=>Ln=n)}const Hn=e=>{const t=_e;return hi(e),e.scope.on(),()=>{e.scope.off(),hi(t)}},wr=()=>{_e&&_e.scope.off(),hi(null)};function el(e){return e.vnode.shapeFlag&4}let Ln=!1;function bc(e,t=!1,n=!1){t&&co(t);const{props:o,children:r}=e.vnode,l=el(e);_u(e,o,l,t),ic(e,r,n||t);const c=l?Sc(e,t):void 0;return t&&co(!1),c}function Sc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Lu);const{setup:o}=n;if(o){Lt();const r=e.setupContext=o.length>1?wc(e):null,l=Hn(e),c=Vn(o,e,0,[e.props,r]),s=Yr(c);if(qt(),l(),(s||e.sp)&&!Nn(e)&&Es(e),s){if(c.then(wr,wr),t)return c.then(f=>{Cr(e,f)}).catch(f=>{Ii(f,e,0)});e.asyncDep=c}else Cr(e,c)}else tl(e)}function Cr(e,t,n){ue(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ke(t)&&(e.setupState=vs(t)),tl(e)}function tl(e,t,n){const o=e.type;e.render||(e.render=o.render||Tt);{const r=Hn(e);Lt();try{qu(e)}finally{qt(),r()}}}const $c={get(e,t){return Ye(e,"get",""),e[t]}};function wc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,$c),slots:e.slots,emit:e.emit,expose:t}}function Ni(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vs(lu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in En)return En[n](e)},has(t,n){return n in t||n in En}})):e.proxy}function Cc(e){return ue(e)&&"__vccOpts"in e}const L=(e,t)=>fu(e,t,Ln);function kc(e,t,n){try{gi(-1);const o=arguments.length;return o===2?ke(t)&&!oe(t)?pi(t)?me(e,null,[t]):me(e,t):me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&pi(n)&&(n=[n]),me(e,t,n))}finally{gi(1)}}const Ic="3.5.31";/** * @vue/runtime-dom v3.5.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let fo;const kr=typeof window<"u"&&window.trustedTypes;if(kr)try{fo=kr.createPolicy("vue",{createHTML:e=>e})}catch{}const nl=fo?e=>fo.createHTML(e):e=>e,Pc="http://www.w3.org/2000/svg",Tc="http://www.w3.org/1998/Math/MathML",Rt=typeof document<"u"?document:null,Ir=Rt&&Rt.createElement("template"),Fc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?Rt.createElementNS(Pc,e):t==="mathml"?Rt.createElementNS(Tc,e):n?Rt.createElement(e,{is:n}):Rt.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>Rt.createTextNode(e),createComment:e=>Rt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Rt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,l){const c=n?n.previousSibling:t.lastChild;if(r&&(r===l||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===l||!(r=r.nextSibling)););else{Ir.innerHTML=nl(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const s=Ir.content;if(o==="svg"||o==="mathml"){const f=s.firstChild;for(;f.firstChild;)s.appendChild(f.firstChild);s.removeChild(f)}t.insertBefore(s,n)}return[c?c.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ht="transition",wn="animation",qn=Symbol("_vtc"),il={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ac=Ve({},Ps,il),Nc=e=>(e.displayName="Transition",e.props=Ac,e),Yt=Nc((e,{slots:t})=>kc(Pu,Ec(e),t)),en=(e,t=[])=>{oe(e)?e.forEach(n=>n(...t)):e&&e(...t)},Pr=e=>e?oe(e)?e.some(t=>t.length>1):e.length>1:!1;function Ec(e){const t={};for(const q in e)q in il||(t[q]=e[q]);if(e.css===!1)return t;const{name:n="v",type:o,duration:r,enterFromClass:l=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:f=l,appearActiveClass:C=c,appearToClass:m=s,leaveFromClass:g=`${n}-leave-from`,leaveActiveClass:S=`${n}-leave-active`,leaveToClass:k=`${n}-leave-to`}=e,O=Rc(r),T=O&&O[0],w=O&&O[1],{onBeforeEnter:I,onEnter:b,onEnterCancelled:P,onLeave:M,onLeaveCancelled:B,onBeforeAppear:U=I,onAppear:W=b,onAppearCancelled:Z=P}=t,V=(q,re,ye,Be)=>{q._enterCancelled=Be,tn(q,re?m:s),tn(q,re?C:c),ye&&ye()},J=(q,re)=>{q._isLeaving=!1,tn(q,g),tn(q,k),tn(q,S),re&&re()},ne=q=>(re,ye)=>{const Be=q?W:b,Te=()=>V(re,q,ye);en(Be,[re,Te]),Tr(()=>{tn(re,q?f:l),Et(re,q?m:s),Pr(Be)||Fr(re,o,T,Te)})};return Ve(t,{onBeforeEnter(q){en(I,[q]),Et(q,l),Et(q,c)},onBeforeAppear(q){en(U,[q]),Et(q,f),Et(q,C)},onEnter:ne(!1),onAppear:ne(!0),onLeave(q,re){q._isLeaving=!0;const ye=()=>J(q,re);Et(q,g),q._enterCancelled?(Et(q,S),Er(q)):(Er(q),Et(q,S)),Tr(()=>{q._isLeaving&&(tn(q,g),Et(q,k),Pr(M)||Fr(q,o,w,ye))}),en(M,[q,ye])},onEnterCancelled(q){V(q,!1,void 0,!0),en(P,[q])},onAppearCancelled(q){V(q,!0,void 0,!0),en(Z,[q])},onLeaveCancelled(q){J(q),en(B,[q])}})}function Rc(e){if(e==null)return null;if(ke(e))return[Ji(e.enter),Ji(e.leave)];{const t=Ji(e);return[t,t]}}function Ji(e){return Ra(e)}function Et(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[qn]||(e[qn]=new Set)).add(t)}function tn(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[qn];n&&(n.delete(t),n.size||(e[qn]=void 0))}function Tr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mc=0;function Fr(e,t,n,o){const r=e._endId=++Mc,l=()=>{r===e._endId&&o()};if(n!=null)return setTimeout(l,n);const{type:c,timeout:s,propCount:f}=xc(e,t);if(!c)return o();const C=c+"end";let m=0;const g=()=>{e.removeEventListener(C,S),l()},S=k=>{k.target===e&&++m>=f&&g()};setTimeout(()=>{m(n[O]||"").split(", "),r=o(`${Ht}Delay`),l=o(`${Ht}Duration`),c=Ar(r,l),s=o(`${wn}Delay`),f=o(`${wn}Duration`),C=Ar(s,f);let m=null,g=0,S=0;t===Ht?c>0&&(m=Ht,g=c,S=l.length):t===wn?C>0&&(m=wn,g=C,S=f.length):(g=Math.max(c,C),m=g>0?c>C?Ht:wn:null,S=m?m===Ht?l.length:f.length:0);const k=m===Ht&&/\b(?:transform|all)(?:,|$)/.test(o(`${Ht}Property`).toString());return{type:m,timeout:g,propCount:S,hasTransform:k}}function Ar(e,t){for(;e.lengthNr(n)+Nr(e[o])))}function Nr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Er(e){return(e?e.ownerDocument:document).body.offsetHeight}function Gc(e,t,n){const o=e[qn];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vi=Symbol("_vod"),ol=Symbol("_vsh"),mt={name:"show",beforeMount(e,{value:t},{transition:n}){e[vi]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Cn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Cn(e,!0),o.enter(e)):o.leave(e,()=>{Cn(e,!1)}):Cn(e,t))},beforeUnmount(e,{value:t}){Cn(e,t)}};function Cn(e,t){e.style.display=t?e[vi]:"none",e[ol]=!t}const Oc=Symbol(""),Bc=/(?:^|;)\s*display\s*:/;function Lc(e,t,n){const o=e.style,r=Oe(n);let l=!1;if(n&&!r){if(t)if(Oe(t))for(const c of t.split(";")){const s=c.slice(0,c.indexOf(":")).trim();n[s]==null&&ai(o,s,"")}else for(const c in t)n[c]==null&&ai(o,c,"");for(const c in n)c==="display"&&(l=!0),ai(o,c,n[c])}else if(r){if(t!==n){const c=o[Oc];c&&(n+=";"+c),o.cssText=n,l=Bc.test(n)}}else t&&e.removeAttribute("style");vi in e&&(e[vi]=l?o.display:"",e[ol]&&(o.display="none"))}const Rr=/\s*!important$/;function ai(e,t,n){if(oe(n))n.forEach(o=>ai(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=qc(e,t);Rr.test(n)?e.setProperty(Jt(o),n.replace(Rr,""),"important"):e[o]=n}}const Mr=["Webkit","Moz","ms"],Zi={};function qc(e,t){const n=Zi[t];if(n)return n;let o=gt(t);if(o!=="filter"&&o in e)return Zi[t]=o;o=Zr(o);for(let r=0;rQi||(Kc.then(()=>Qi=0),Qi=Date.now());function Wc(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;yt(zc(o,n.value),t,5,[o])};return n.value=e,n.attached=Hc(),n}function zc(e,t){if(oe(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>r=>!r._stopped&&o&&o(r))}else return t}const qr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yc=(e,t,n,o,r,l)=>{const c=r==="svg";t==="class"?Gc(e,o,c):t==="style"?Lc(e,n,o):Si(t)?$i(t)||Vc(e,t,n,o,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xc(e,t,o,c))?(Or(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Gr(e,t,o,c,l,t!=="value")):e._isVueCE&&(Jc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Oe(o)))?Or(e,gt(t),o,l,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Gr(e,t,o,c))};function Xc(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&qr(t)&&ue(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return qr(t)&&Oe(n)?!1:t in e}function Jc(e,t){const n=e._def.props;if(!n)return!1;const o=gt(t);return Array.isArray(n)?n.some(r=>gt(r)===o):Object.keys(n).some(r=>gt(r)===o)}const Zc=["ctrl","shift","alt","meta"],Qc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},ht=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...l)=>{for(let c=0;c{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const l=Jt(r.key);if(t.some(c=>c===l||_c[c]===l))return e(r)})},ed=Ve({patchProp:Yc},Fc);let Dr;function td(){return Dr||(Dr=rc(ed))}const nd=(...e)=>{const t=td().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=od(o);if(!r)return;const l=t._component;!ue(l)&&!l.render&&!l.template&&(l.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const c=n(r,!1,id(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),c},t};function id(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function od(e){return Oe(e)?document.querySelector(e):e}const rd="/logo.svg",sd=rd,ld={class:"masthead"},ad={class:"masthead-main"},ud={class:"masthead-brand"},cd={key:0,srcset:sd,type:"image/svg+xml"},dd=["src","alt"],fd={class:"masthead-subtitle"},md={class:"masthead-controls"},gd={class:"control-toggle-row"},pd=["aria-expanded"],hd={class:"control-toggle-meta"},vd=["aria-label","title"],yd={viewBox:"0 0 24 24","aria-hidden":"true"},bd={key:0,d:"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Sd={key:1,d:"M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},$d={key:0,class:"controls-grid controls-popover"},wd={class:"control-box"},Cd={class:"control-label"},kd={class:"language-switcher mode-switcher"},Id={class:"control-box"},Pd={class:"control-label"},Td={class:"language-switcher"},Fd={class:"status-row"},Ad={class:"live-badge"},Nd={key:0,class:"server-time"},Ed={__name:"AppHeader",props:{t:{type:Function,required:!0},competitionTitle:{type:String,required:!0},mode:{type:String,required:!0},language:{type:String,required:!0},serverTime:{type:String,default:""},isFullscreen:{type:Boolean,default:!1}},emits:["change-mode","change-language","toggle-fullscreen"],setup(e,{emit:t}){const n=e,o=t,r=ve(!1),l=ve(null),c=L(()=>n.language==="ar"?"خيارات":"Options"),s=L(()=>n.mode==="view"?n.language==="ar"?"عرض":"View":n.mode==="live"?n.language==="ar"?"حي":"Live":n.language==="ar"?"إدارة":"Admin"),f=L(()=>n.language==="ar"?"AR":"EN"),C=L(()=>n.isFullscreen?n.t("actions.exitFullscreen"):n.t("actions.enterFullscreen")),m=L(()=>n.mode==="view"?"● "+n.t("labels.liveTracker"):n.mode==="live"?"● "+n.t("liveMode"):n.t("adminPanel"));function g(){r.value=!r.value}function S(I){o("change-mode",I),r.value=!1}function k(I){o("change-language",I),r.value=!1}function O(){o("toggle-fullscreen")}function T(I){if(!r.value)return;const b=l.value;b&&!b.contains(I.target)&&(r.value=!1)}function w(I){I.key==="Escape"&&(r.value=!1)}return jn(()=>{window.addEventListener("pointerdown",T),window.addEventListener("keydown",w)}),Kn(()=>{window.removeEventListener("pointerdown",T),window.removeEventListener("keydown",w)}),(I,b)=>(v(),y("header",ld,[i("div",ad,[i("div",ud,[i("picture",null,[e.mode!=="live"?(v(),y("source",cd)):G("",!0),i("img",{class:"masthead-logo",src:e.mode==="live"?"/logo_white.png":"/logo.png",alt:e.competitionTitle},null,8,dd)]),i("p",fd,a(e.t("subtitle")),1)]),i("div",md,[i("div",{ref_key:"controlsRoot",ref:l,class:"controls-popup-anchor"},[i("div",gd,[i("button",{class:"control-toggle-btn",type:"button","aria-expanded":r.value?"true":"false",onClick:g},[i("span",null,a(c.value),1),i("span",hd,a(s.value)+" · "+a(f.value),1)],8,pd),i("button",{class:le(["control-icon-btn",{active:e.isFullscreen}]),type:"button","aria-label":C.value,title:C.value,onClick:O},[(v(),y("svg",yd,[e.isFullscreen?(v(),y("path",Sd)):(v(),y("path",bd))]))],10,vd)]),me(Yt,{name:"controls-reveal"},{default:Mt(()=>[r.value?(v(),y("div",$d,[i("div",wd,[i("p",Cd,a(e.t("labels.mode")),1),i("div",kd,[i("button",{class:le(["lang-btn",{active:e.mode==="live"}]),onClick:b[0]||(b[0]=P=>S("live"))},a(e.t("liveMode")),3),i("button",{class:le(["lang-btn",{active:e.mode==="admin"}]),onClick:b[1]||(b[1]=P=>S("admin"))},a(e.t("adminMode")),3)])]),i("div",Id,[i("p",Pd,a(e.t("labels.language")),1),i("div",Td,[i("button",{class:le(["lang-btn",{active:e.language==="ar"}]),onClick:b[2]||(b[2]=P=>k("ar"))},"العربية",2),i("button",{class:le(["lang-btn",{active:e.language==="en"}]),onClick:b[3]||(b[3]=P=>k("en"))},"English",2)])])])):G("",!0)]),_:1})],512),i("div",Fd,[i("div",Ad,a(m.value),1),e.serverTime?(v(),y("div",Nd,a(e.t("labels.lastSync"))+": "+a(e.serverTime),1)):G("",!0)])])])]))}},Rd={class:"tab-bar"},Md=["onClick"],xd={class:"panel"},Gd={class:"panel-heading"},Od={class:"summary-grid"},Bd={class:"summary-value"},Ld={class:"summary-status ok"},qd={key:0,class:"view-group-grid"},Dd={class:"view-group-card-head"},Ud={class:"pm-count-badge"},Vd={class:"table-wrap"},jd={class:"score-table"},Kd={class:"mono"},Hd={class:"competitor-cell compact"},Wd=["src","alt"],zd={class:"name-main"},Yd={class:"name-sub"},Xd={key:1,class:"table-wrap"},Jd={class:"score-table"},Zd={class:"muted center"},Qd={class:"panel live-panel"},_d={class:"live-corner"},ef={class:"live-top-controls"},tf=["value"],nf=["value"],of={class:"live-title"},rf={class:"live-subtitle"},sf={key:0,class:"live-grid"},lf=["src","alt"],af={class:"live-number"},uf={class:"live-name-primary"},cf={class:"live-name-secondary"},df={key:1,class:"empty-state"},ff={class:"panel"},mf={class:"panel-heading"},gf={class:"two-column"},pf={class:"sub-heading"},hf={class:"table-wrap"},vf={class:"score-table"},yf={class:"mono rank"},bf={class:"mono"},Sf={class:"competitor-cell compact"},$f=["src","alt"],wf={class:"name-main"},Cf={class:"name-sub"},kf={class:"mono"},If={class:"mono strong"},Pf=["onClick"],Tf=["src","alt"],Ff={class:"mono"},Af=["onClick"],Nf=["src","alt"],Ef={key:0,class:"badge success"},Rf={key:1,class:"muted"},Mf={key:0},xf={colspan:"7",class:"muted center"},Gf={class:"sub-heading"},Of={class:"table-wrap"},Bf={class:"score-table"},Lf={class:"mono rank"},qf={class:"competitor-cell compact"},Df=["src","alt"],Uf={class:"name-main"},Vf={class:"name-sub"},jf={class:"mono"},Kf={class:"mono strong"},Hf={class:"mono"},Wf={key:0},zf={colspan:"5",class:"muted center"},Yf={key:0,class:"hint-box danger"},Xf={class:"panel"},Jf={class:"panel-heading"},Zf={class:"two-column"},Qf={class:"sub-heading"},_f={class:"table-wrap"},em={class:"score-table"},tm={class:"mono"},nm={class:"competitor-cell compact"},im=["src","alt"],om={class:"name-main"},rm={class:"name-sub"},sm={class:"mono strong"},lm=["onClick"],am=["src","alt"],um={key:0},cm={colspan:"3",class:"muted center"},dm={class:"sub-heading"},fm={class:"table-wrap"},mm={class:"score-table"},gm={class:"mono"},pm={class:"competitor-cell compact"},hm=["src","alt"],vm={class:"name-main"},ym={class:"name-sub"},bm={class:"mono strong"},Sm=["onClick"],$m=["src","alt"],wm={key:0},Cm={colspan:"3",class:"muted center"},km={class:"sub-heading mt-32"},Im={class:"table-wrap"},Pm={class:"score-table"},Tm={class:"mono rank"},Fm={class:"competitor-cell compact"},Am=["src","alt"],Nm={class:"name-main"},Em={class:"name-sub"},Rm={class:"mono strong"},Mm=["onClick"],xm=["src","alt"],Gm={class:"mono"},Om=["onClick"],Bm=["src","alt"],Lm={key:0},qm={colspan:"4",class:"muted center"},Dm={key:0,class:"hint-box danger"},Um={class:"panel podium-panel"},Vm={class:"panel-heading"},jm={class:"podium-wrapper"},Km={class:"podium-col pos-2"},Hm={class:"podium-avatar-wrap"},Wm=["src","alt"],zm={class:"podium-score-wrap"},Ym={class:"podium-score"},Xm={key:0,class:"podium-score-sub"},Jm={class:"podium-col pos-1"},Zm={class:"podium-avatar-wrap"},Qm=["src","alt"],_m={class:"podium-score-wrap"},eg={class:"podium-score"},tg={key:0,class:"podium-score-sub"},ng={class:"podium-col pos-3"},ig={class:"podium-avatar-wrap"},og=["src","alt"],rg={class:"podium-score-wrap"},sg={class:"podium-score"},lg={key:0,class:"podium-score-sub"},ag={__name:"ViewModePanel",props:{t:{type:Function,required:!0},viewTabs:{type:Array,required:!0},viewTab:{type:String,required:!0},groupSummaries:{type:Array,required:!0},playersSorted:{type:Array,required:!0},rowClass:{type:Function,required:!0},playerImage:{type:Function,required:!0},displayName:{type:Function,required:!0},secondaryName:{type:Function,required:!0},liveMode:{type:String,required:!0},selectedLiveGroup:{type:String,default:""},liveSelectableGroups:{type:Array,required:!0},liveGroupCode:{type:String,default:""},liveMembers:{type:Array,required:!0},liveTick:{type:Number,required:!0},preliminaryRows:{type:Array,required:!0},finalists:{type:Array,required:!0},isFinalist:{type:Function,required:!0},prelimTie:{type:Object,required:!0},finalGroup1:{type:Array,required:!0},finalGroup2:{type:Array,required:!0},finalRows:{type:Array,required:!0},finalTie:{type:Object,required:!0},finalTotalScore:{type:Function,required:!0},preliminaryProofStage:{type:Function,required:!0},finalProofStage:{type:Function,required:!0},podiumOrdered:{type:Array,required:!0},podiumImage:{type:Function,required:!0},podiumName:{type:Function,required:!0},podiumHasResult:{type:Function,required:!0},podiumScoreMain:{type:Function,required:!0},podiumTieSubtitle:{type:Function,required:!0},canViewProofs:{type:Boolean,default:!1},hasScoreProof:{type:Function,required:!0},scoreProofFor:{type:Function,required:!0}},emits:["change-tab","change-live-mode","change-live-group","open-proof"],setup(e){const t=e,n=L(()=>{const l=new Map,c=t.t("labels.unassigned");for(const s of t.playersSorted){const f=(s.groupCode||"").trim()||c;l.has(f)||l.set(f,[]),l.get(f).push(s)}return[...l.entries()].sort((s,f)=>s[0]===c?1:f[0]===c?-1:String(s[0]).localeCompare(String(f[0]),void 0,{numeric:!0,sensitivity:"base"})).map(([s,f])=>({code:s,key:o(s,c),players:[...f].sort((C,m)=>C.id-m.id)}))});function o(l,c){if(l===c)return"u";const s=String(l||"").trim().toUpperCase();return s.startsWith("A")?"a":s.startsWith("B")?"b":s.startsWith("C")?"c":s.startsWith("D")?"d":"u"}function r(l){const c=t.t("labels.unassigned");return l===c?c:`${t.t("labels.group")} ${l}`}return(l,c)=>(v(),y("div",null,[i("nav",Rd,[(v(!0),y(_,null,de(e.viewTabs,s=>(v(),y("button",{key:s.id,class:le(["tab-btn",{active:e.viewTab===s.id}]),onClick:f=>l.$emit("change-tab",s.id)},a(s.label),11,Md))),128))]),ft(i("section",xd,[i("div",Gd,[i("h2",null,a(e.t("sections.groupsTitle")),1),i("p",null,a(e.t("sections.groupsSubtitle")),1)]),i("div",Od,[(v(!0),y(_,null,de(e.groupSummaries,s=>(v(),y("article",{key:s.code,class:le(["summary-card","group-"+s.key])},[i("h3",null,a(e.t("labels.group"))+" "+a(s.code),1),i("p",Bd,a(s.count),1),i("p",Ld,a(e.t("labels.players")),1)],2))),128))]),n.value.length>0?(v(),y("div",qd,[(v(!0),y(_,null,de(n.value,s=>(v(),y("article",{key:"view-group-"+s.code,class:le(["view-group-card","group-"+s.key])},[i("div",Dd,[i("h3",null,a(r(s.code)),1),i("span",Ud,a(s.players.length),1)]),i("div",Vd,[i("table",jd,[i("thead",null,[i("tr",null,[c[3]||(c[3]=i("th",null,"#",-1)),i("th",null,a(e.t("table.competitor")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(s.players,f=>(v(),y("tr",{key:"v-g-"+s.code+"-"+f.id,class:le(e.rowClass(f.groupCode))},[i("td",Kd,a(f.id),1),i("td",null,[i("div",Hd,[i("img",{src:e.playerImage(f),alt:f.nameAr,class:"competitor-image"},null,8,Wd),i("div",null,[i("p",zd,a(e.displayName(f)),1),i("p",Yd,a(e.secondaryName(f)),1)])])])],2))),128))])])])],2))),128))])):(v(),y("div",Xd,[i("table",Jd,[i("tbody",null,[i("tr",null,[i("td",Zd,a(e.t("labels.noPlayers")),1)])])])]))],512),[[mt,e.viewTab==="groups"]]),ft(i("section",Qd,[i("div",_d,[i("div",ef,[i("button",{class:le(["btn btn-outline light",{active:e.liveMode==="rotate"}]),onClick:c[0]||(c[0]=s=>l.$emit("change-live-mode","rotate"))},a(e.t("actions.liveRotate")),3),i("button",{class:le(["btn btn-outline light",{active:e.liveMode==="fixed"}]),onClick:c[1]||(c[1]=s=>l.$emit("change-live-mode","fixed"))},a(e.t("actions.liveFixed")),3),e.liveMode==="fixed"?(v(),y("select",{key:0,class:"group-select",value:e.selectedLiveGroup,onChange:c[2]||(c[2]=s=>l.$emit("change-live-group",s.target.value))},[(v(!0),y(_,null,de(e.liveSelectableGroups,s=>(v(),y("option",{key:"live-group-"+s,value:s},a(s),9,nf))),128))],40,tf)):G("",!0)])]),i("div",of,a(e.t("sections.liveTitle"))+" · "+a(e.liveGroupCode||e.t("labels.unassigned")),1),i("p",rf,a(e.t("sections.liveSubtitle")),1),e.liveMembers.length>0?(v(),y("div",sf,[(v(!0),y(_,null,de(e.liveMembers,s=>(v(),y("article",{class:"live-card",key:"live-"+s.id},[i("img",{class:"live-image",src:e.playerImage(s),alt:s.nameAr},null,8,lf),i("div",null,[i("p",af,"#"+a(s.id),1),i("p",uf,a(e.displayName(s)),1),i("p",cf,a(e.secondaryName(s)),1)])]))),128))])):(v(),y("div",df,a(e.t("labels.emptyLive")),1)),(v(),y("div",{class:"live-progress",key:"tick-"+e.liveTick}))],512),[[mt,e.viewTab==="live"]]),ft(i("section",ff,[i("div",mf,[i("h2",null,a(e.t("sections.overallTitle")),1),i("p",null,a(e.t("sections.overallSubtitle")),1)]),i("div",gf,[i("div",null,[i("h3",pf,a(e.t("labels.allPlayers")),1),i("div",hf,[i("table",vf,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.rank")),1),c[4]||(c[4]=i("th",null,"#",-1)),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.group")),1),i("th",null,a(e.t("table.score")),1),i("th",null,a(e.t("table.tieScore")),1),i("th",null,a(e.t("table.status")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(e.preliminaryRows,s=>(v(),y("tr",{key:"v-pr-"+s.playerId,class:le({"qualified-row":e.isFinalist(s.playerId)})},[i("td",yf,a(s.rank),1),i("td",bf,a(s.playerId),1),i("td",null,[i("div",Sf,[i("img",{src:e.playerImage(s),alt:s.nameAr,class:"competitor-image"},null,8,$f),i("div",null,[i("p",wf,a(e.displayName(s)),1),i("p",Cf,a(e.secondaryName(s)),1)])])]),i("td",kf,a(s.groupCode||e.t("labels.unassigned")),1),i("td",If,[i("span",null,a(s.score),1),e.canViewProofs&&e.preliminaryProofStage(s.playerId)?(v(),y("button",{key:0,class:"proof-mini",onClick:f=>l.$emit("open-proof",{stage:e.preliminaryProofStage(s.playerId),playerId:s.playerId})},[i("img",{src:e.scoreProofFor(e.preliminaryProofStage(s.playerId),s.playerId),alt:e.t("table.verification")},null,8,Tf)],8,Pf)):G("",!0)]),i("td",Ff,[i("span",null,a(s.tieBreak),1),e.canViewProofs&&e.hasScoreProof("prelim_tiebreak",s.playerId)?(v(),y("button",{key:0,class:"proof-mini",onClick:f=>l.$emit("open-proof",{stage:"prelim_tiebreak",playerId:s.playerId})},[i("img",{src:e.scoreProofFor("prelim_tiebreak",s.playerId),alt:e.t("table.verification")},null,8,Nf)],8,Af)):G("",!0)]),i("td",null,[e.isFinalist(s.playerId)?(v(),y("span",Ef,a(e.t("labels.finalist")),1)):(v(),y("span",Rf,a(e.t("labels.notFinalist")),1))])],2))),128)),e.preliminaryRows.length===0?(v(),y("tr",Mf,[i("td",xf,a(e.t("labels.noPlayers")),1)])):G("",!0)])])])]),i("div",null,[i("h3",Gf,a(e.t("labels.top12")),1),i("div",Of,[i("table",Bf,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.seed")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.group")),1),i("th",null,a(e.t("table.score")),1),i("th",null,a(e.t("table.tieScore")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(e.finalists,s=>(v(),y("tr",{key:"v-top-"+s.playerId,class:"qualified-row"},[i("td",Lf,a(s.seed),1),i("td",null,[i("div",qf,[i("img",{src:e.playerImage(s),alt:s.nameAr,class:"competitor-image"},null,8,Df),i("div",null,[i("p",Uf,a(e.displayName(s)),1),i("p",Vf,a(e.secondaryName(s)),1)])])]),i("td",jf,a(s.groupCode||e.t("labels.unassigned")),1),i("td",Kf,a(s.score),1),i("td",Hf,a(s.tieBreak),1)]))),128)),e.finalists.length===0?(v(),y("tr",Wf,[i("td",zf,a(e.t("labels.noFinalists")),1)])):G("",!0)])])])])]),e.prelimTie.required&&!e.prelimTie.resolved?(v(),y("div",Yf,a(e.t("messages.prelimTieUnresolved")),1)):G("",!0)],512),[[mt,e.viewTab==="overall"]]),ft(i("section",Xf,[i("div",Jf,[i("h2",null,a(e.t("sections.finalTitle")),1),i("p",null,a(e.t("sections.finalSubtitle")),1)]),i("div",Zf,[i("div",null,[i("h3",Qf,a(e.t("labels.finalGroup1")),1),i("div",_f,[i("table",em,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.seed")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.score")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(e.finalGroup1,s=>(v(),y("tr",{key:"v-f1-"+s.playerId},[i("td",tm,a(s.seed),1),i("td",null,[i("div",nm,[i("img",{src:e.playerImage(s),alt:s.nameAr,class:"competitor-image"},null,8,im),i("div",null,[i("p",om,a(e.displayName(s)),1),i("p",rm,a(e.secondaryName(s)),1)])])]),i("td",sm,[i("span",null,a(e.finalTotalScore(s.playerId)),1),e.canViewProofs&&e.finalProofStage(s.playerId)?(v(),y("button",{key:0,class:"proof-mini",onClick:f=>l.$emit("open-proof",{stage:e.finalProofStage(s.playerId),playerId:s.playerId})},[i("img",{src:e.scoreProofFor(e.finalProofStage(s.playerId),s.playerId),alt:e.t("table.verification")},null,8,am)],8,lm)):G("",!0)])]))),128)),e.finalGroup1.length===0?(v(),y("tr",um,[i("td",cm,a(e.t("labels.noFinalists")),1)])):G("",!0)])])])]),i("div",null,[i("h3",dm,a(e.t("labels.finalGroup2")),1),i("div",fm,[i("table",mm,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.seed")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.score")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(e.finalGroup2,s=>(v(),y("tr",{key:"v-f2-"+s.playerId},[i("td",gm,a(s.seed),1),i("td",null,[i("div",pm,[i("img",{src:e.playerImage(s),alt:s.nameAr,class:"competitor-image"},null,8,hm),i("div",null,[i("p",vm,a(e.displayName(s)),1),i("p",ym,a(e.secondaryName(s)),1)])])]),i("td",bm,[i("span",null,a(s.score),1),e.canViewProofs&&e.finalProofStage(s.playerId)?(v(),y("button",{key:0,class:"proof-mini",onClick:f=>l.$emit("open-proof",{stage:e.finalProofStage(s.playerId),playerId:s.playerId})},[i("img",{src:e.scoreProofFor(e.finalProofStage(s.playerId),s.playerId),alt:e.t("table.verification")},null,8,$m)],8,Sm)):G("",!0)])]))),128)),e.finalGroup2.length===0?(v(),y("tr",wm,[i("td",Cm,a(e.t("labels.noFinalists")),1)])):G("",!0)])])])])]),i("h3",km,a(e.t("sections.finalRanking")),1),i("div",Im,[i("table",Pm,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.rank")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.score")),1),i("th",null,a(e.t("table.tieScore")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(e.finalRows,s=>(v(),y("tr",{key:"v-fr-"+s.playerId,class:le({"podium-row":s.rank<=3})},[i("td",Tm,a(s.rank),1),i("td",null,[i("div",Fm,[i("img",{src:e.playerImage(s),alt:s.nameAr,class:"competitor-image"},null,8,Am),i("div",null,[i("p",Nm,a(e.displayName(s)),1),i("p",Em,a(e.secondaryName(s)),1)])])]),i("td",Rm,[i("span",null,a(s.score),1),e.canViewProofs&&e.finalProofStage(s.playerId)?(v(),y("button",{key:0,class:"proof-mini",onClick:f=>l.$emit("open-proof",{stage:e.finalProofStage(s.playerId),playerId:s.playerId})},[i("img",{src:e.scoreProofFor(e.finalProofStage(s.playerId),s.playerId),alt:e.t("table.verification")},null,8,xm)],8,Mm)):G("",!0)]),i("td",Gm,[i("span",null,a(s.tieBreak),1),e.canViewProofs&&e.hasScoreProof("final_tiebreak",s.playerId)?(v(),y("button",{key:0,class:"proof-mini",onClick:f=>l.$emit("open-proof",{stage:"final_tiebreak",playerId:s.playerId})},[i("img",{src:e.scoreProofFor("final_tiebreak",s.playerId),alt:e.t("table.verification")},null,8,Bm)],8,Om)):G("",!0)])],2))),128)),e.finalRows.length===0?(v(),y("tr",Lm,[i("td",qm,a(e.t("labels.noFinalists")),1)])):G("",!0)])])]),e.finalTie.required&&!e.finalTie.resolved?(v(),y("div",Dm,a(e.t("messages.finalTieUnresolved")),1)):G("",!0)],512),[[mt,e.viewTab==="final"]]),ft(i("section",Um,[i("div",Vm,[i("h2",null,a(e.t("sections.podiumTitle")),1),i("p",null,a(e.t("sections.podiumSubtitle")),1)]),i("div",jm,[i("article",Km,[i("div",Hm,[i("img",{class:"podium-img",src:e.podiumImage(e.podiumOrdered[0]),alt:e.podiumName(e.podiumOrdered[0])},null,8,Wm)]),c[5]||(c[5]=i("div",{class:"podium-medal-icon"},"🥈",-1)),i("h3",{class:le(["podium-name",{empty:!e.podiumHasResult(e.podiumOrdered[0])}])},a(e.podiumName(e.podiumOrdered[0])),3),i("div",zm,[i("p",Ym,a(e.podiumScoreMain(e.podiumOrdered[0])),1),e.podiumTieSubtitle(e.podiumOrdered[0])?(v(),y("p",Xm,a(e.podiumTieSubtitle(e.podiumOrdered[0])),1)):G("",!0)])]),i("article",Jm,[i("div",Zm,[i("img",{class:"podium-img",src:e.podiumImage(e.podiumOrdered[1]),alt:e.podiumName(e.podiumOrdered[1])},null,8,Qm)]),c[6]||(c[6]=i("div",{class:"podium-medal-icon"},"🥇",-1)),i("h3",{class:le(["podium-name",{empty:!e.podiumHasResult(e.podiumOrdered[1])}])},a(e.podiumName(e.podiumOrdered[1])),3),i("div",_m,[i("p",eg,a(e.podiumScoreMain(e.podiumOrdered[1])),1),e.podiumTieSubtitle(e.podiumOrdered[1])?(v(),y("p",tg,a(e.podiumTieSubtitle(e.podiumOrdered[1])),1)):G("",!0)])]),i("article",ng,[i("div",ig,[i("img",{class:"podium-img",src:e.podiumImage(e.podiumOrdered[2]),alt:e.podiumName(e.podiumOrdered[2])},null,8,og)]),c[7]||(c[7]=i("div",{class:"podium-medal-icon"},"🥉",-1)),i("h3",{class:le(["podium-name",{empty:!e.podiumHasResult(e.podiumOrdered[2])}])},a(e.podiumName(e.podiumOrdered[2])),3),i("div",rg,[i("p",sg,a(e.podiumScoreMain(e.podiumOrdered[2])),1),e.podiumTieSubtitle(e.podiumOrdered[2])?(v(),y("p",lg,a(e.podiumTieSubtitle(e.podiumOrdered[2])),1)):G("",!0)])])])],512),[[mt,e.viewTab==="podium"]])]))}},ug="/datwyler_logo.png",cg="/arture.png",dg="/simon_logo.png",fg={class:"live-mode-root"},mg={class:"live-mode-shell"},gg={class:"live-mode-overlay"},pg={class:"live-mode-grid single"},hg={key:0,class:"live-screen-card wide"},vg={class:"live-screen-head"},yg={class:"live-chip-row"},bg={class:"live-chip"},Sg={class:"live-focus-label"},$g={class:"live-focus-title"},wg={class:"table-wrap"},Cg={class:"score-table live-score-table"},kg={class:"mono rank"},Ig={class:"competitor-cell compact"},Pg=["src","alt"],Tg={class:"name-main"},Fg={class:"mono"},Ag={class:"mono"},Ng={class:"mono"},Eg={class:"mono strong"},Rg={key:0},Mg={colspan:"6",class:"muted center"},xg={key:1,class:"live-screen-card wide"},Gg={class:"live-screen-head"},Og={class:"live-chip-row"},Bg={class:"live-chip"},Lg={key:0,class:"live-chip"},qg={class:"live-tie-group-title"},Dg={class:"table-wrap"},Ug={class:"score-table"},Vg={class:"mono"},jg={class:"competitor-cell compact"},Kg=["src","alt"],Hg={class:"name-main"},Wg={class:"mono strong"},zg={key:0,class:"muted center"},Yg={key:2,class:"live-screen-card wide"},Xg={class:"live-screen-head"},Jg={class:"live-chip-row"},Zg={class:"live-chip strong"},Qg={key:0,class:"live-chip"},_g={class:"table-wrap"},ep={class:"score-table"},tp={class:"mono rank"},np={class:"live-rank-cell"},ip={key:0,class:"live-rank-hint"},op={class:"competitor-cell compact"},rp=["src","alt"],sp={class:"name-main"},lp={class:"mono strong"},ap={class:"mono"},up={key:0},cp={colspan:"4",class:"muted center"},dp={key:3,class:"live-screen-card wide"},fp={class:"live-screen-head"},mp={class:"live-chip-row"},gp={class:"live-chip"},pp={class:"live-focus-banner focus-final"},hp={class:"live-focus-label"},vp={class:"live-focus-title"},yp={class:"table-wrap"},bp={class:"score-table live-score-table"},Sp={class:"mono rank"},$p={class:"competitor-cell compact"},wp=["src","alt"],Cp={class:"name-main"},kp={class:"mono"},Ip={class:"mono"},Pp={class:"mono strong"},Tp={key:0},Fp={colspan:"5",class:"muted center"},Ap={key:4,class:"live-screen-card wide"},Np={class:"live-screen-head"},Ep={class:"live-chip-row"},Rp={class:"live-chip"},Mp={key:0,class:"live-chip"},xp={class:"live-tie-group-title"},Gp={class:"table-wrap"},Op={class:"score-table"},Bp={class:"mono"},Lp={class:"competitor-cell compact"},qp=["src","alt"],Dp={class:"name-main"},Up={class:"mono strong"},Vp={key:0,class:"muted center"},jp={key:5,class:"live-screen-card wide"},Kp={class:"live-screen-head"},Hp={class:"live-chip-row"},Wp={key:0,class:"live-chip"},zp={class:"table-wrap"},Yp={class:"score-table"},Xp={class:"mono rank"},Jp={class:"live-rank-cell"},Zp={key:0,class:"live-rank-hint"},Qp={class:"competitor-cell compact"},_p=["src","alt"],eh={class:"name-main"},th={class:"mono strong"},nh={key:0},ih={colspan:"4",class:"muted center"},oh={key:6,class:"live-screen-card podium-live-card wide"},rh={class:"live-screen-head"},sh={class:"podium-wrapper live-podium"},lh={class:"podium-col pos-2"},ah={class:"podium-avatar-wrap"},uh=["src","alt"],ch=["title"],dh={class:"podium-score-wrap"},fh={class:"podium-score"},mh={key:0,class:"podium-score-sub"},gh={class:"podium-col pos-1"},ph={class:"podium-avatar-wrap"},hh=["src","alt"],vh=["title"],yh={class:"podium-score-wrap"},bh={class:"podium-score"},Sh={key:0,class:"podium-score-sub"},$h={class:"podium-col pos-3"},wh={class:"podium-avatar-wrap"},Ch=["src","alt"],kh=["title"],Ih={class:"podium-score-wrap"},Ph={class:"podium-score"},Th={key:0,class:"podium-score-sub"},Fh={__name:"LiveModePanel",props:{t:{type:Function,required:!0},liveSettings:{type:Object,required:!0},positionBoards:{type:Object,default:()=>({})},liveGroupCode:{type:String,default:""},liveGroupMembers:{type:Array,required:!0},prelimTie:{type:Object,default:()=>({required:!1,resolved:!0,slots:0,playerIds:[]})},prelimTieRows:{type:Array,required:!0},preliminaryRows:{type:Array,required:!0},finalists:{type:Array,required:!0},liveFinalGroup:{type:Number,required:!0},liveFinalRows:{type:Array,required:!0},finalOverallRows:{type:Array,required:!0},finalTieRows:{type:Array,required:!0},podiumOrdered:{type:Array,required:!0},playerImage:{type:Function,required:!0},displayName:{type:Function,required:!0},scoreFor:{type:Function,required:!0},prelimTotal:{type:Function,required:!0},finalTotal:{type:Function,required:!0},podiumImage:{type:Function,required:!0},podiumName:{type:Function,required:!0},podiumHasResult:{type:Function,required:!0},podiumScoreMain:{type:Function,required:!0},podiumTieSubtitle:{type:Function,required:!0}},setup(e){const t=e,n=L(()=>new Set((t.finalists||[]).map(z=>z.playerId))),o=L(()=>new Set((t.prelimTieRows||[]).map(z=>z.playerId))),r=L(()=>new Set((t.finalTieRows||[]).map(z=>z.playerId))),l=L(()=>{var z;return!!((z=t.prelimTie)!=null&&z.resolved)}),c=L(()=>t.liveSettings.activeView||"group_live"),s=ve(0),f=ve(0);let C=null,m=null;const g=L(()=>{const z=Number(t.liveSettings.rotationIntervalSec||5);return Number.isFinite(z)?Math.max(3,z):5}),S=L(()=>{const z=Number(t.liveSettings.rotationPlayerCount||12);return Number.isFinite(z)?z<3?3:z>40?40:Math.floor(z):12}),k=L(()=>We(t.preliminaryRows||[])),O=L(()=>c.value==="prelim_overall"?k.value:c.value==="final_overall"?t.finalOverallRows||[]:[]),T=L(()=>{const z=O.value.length;return z<=0?1:Math.max(1,Math.ceil(z/S.value))}),w=L(()=>`${s.value+1} / ${T.value}`),I=L(()=>Ee(k.value)),b=L(()=>Ee(t.finalOverallRows||[])),P=L(()=>se("prelim_tiebreak",t.prelimTieRows||[])),M=L(()=>se("final_tiebreak",t.finalTieRows||[])),B=L(()=>c.value==="prelim_tie"?P.value.length:c.value==="final_tie"?M.value.length:0),U=L(()=>{const z=B.value;return z<=0?"0 / 0":`${f.value%z+1} / ${z}`}),W=L(()=>{const z=P.value;return z.length===0?null:z[f.value%z.length]}),Z=L(()=>{const z=M.value;return z.length===0?null:z[f.value%z.length]}),V=L(()=>(t.liveGroupMembers||[]).map(z=>({player:z,total:Number(t.prelimTotal(z.id)||0)}))),J=L(()=>t.liveFinalGroup===2?t.t("labels.finalGroupSeeds2"):t.t("labels.finalGroupSeeds1")),ne=L(()=>t.liveFinalGroup===2?"2":"1"),q=L(()=>{const z=String(t.liveGroupCode||"").trim().toUpperCase();return z.startsWith("A")?"a":z.startsWith("B")?"b":z.startsWith("C")?"c":z.startsWith("D")?"d":"u"}),re=L(()=>(t.liveFinalRows||[]).map(z=>({row:z,total:Number(t.finalTotal(z.playerId)||0)})));function ye(z){return n.value.has(z)}function Be(z){return o.value.has(z)}function Te(z){return r.value.has(z)}function be(z){return!l.value&&Be(z.playerId)?t.t("labels.tieBreak"):ye(z.playerId)?t.t("labels.finalist"):""}function ge(z){return Te(z.playerId)?t.t("labels.tieBreak"):""}Ue(()=>`${c.value}|${g.value}|${S.value}|${t.prelimTieRows.length}|${t.preliminaryRows.length}|${t.finalOverallRows.length}|${t.finalTieRows.length}`,()=>{et(),tt()},{immediate:!0}),Kn(()=>{je(),ut()});function Ee(z){const ce=s.value*S.value;return z.slice(ce,ce+S.value)}function We(z){const ce=[...z||[]].sort((Se,Me)=>{const h=Number(Se.score||0),$=Number(Me.score||0);if(h!==$)return $-h;const A=Number(Se.tieBreak||0),R=Number(Me.tieBreak||0);return A!==R?R-A:Number(Se.playerId||0)-Number(Me.playerId||0)});let X=1;return ce.map((Se,Me)=>{if(Me>0){const h=ce[Me-1],$=Number(h.score||0)===Number(Se.score||0),A=Number(h.tieBreak||0)===Number(Se.tieBreak||0);$&&A||(X=Me+1)}return{...Se,rank:X}})}function et(){je(),s.value=0,(c.value==="prelim_overall"||c.value==="final_overall")&&(T.value<=1||(C=setInterval(()=>{if(T.value<=1){s.value=0;return}s.value=(s.value+1)%T.value},g.value*1e3)))}function je(){C&&(clearInterval(C),C=null)}function tt(){ut(),f.value=0,!(B.value<=1)&&(c.value!=="prelim_tie"&&c.value!=="final_tie"||(m=setInterval(()=>{if(B.value<=1){f.value=0;return}f.value=(f.value+1)%B.value},g.value*1e3)))}function ut(){m&&(clearInterval(m),m=null)}function bt(z,ce){var Se;const X=((Se=t.positionBoards)==null?void 0:Se[z])||{};return X[String(ce)]||X[ce]||null}function se(z,ce){const X=(ce||[]).map((Me,h)=>{const $=bt(z,Me.playerId),A=String(Math.floor(h/6)+1),R=h%6+1,N=String(($==null?void 0:$.groupKey)||A).trim(),E=Number.parseInt(N,10),H=Number.isFinite(E)&&E>0?String(E):A,j=Number($==null?void 0:$.position)>0?Math.floor(Number($.position)):R;return{row:Me,groupKey:H,position:j}}),Se=new Map;for(const Me of X)Se.has(Me.groupKey)||Se.set(Me.groupKey,[]),Se.get(Me.groupKey).push(Me);return[...Se.entries()].sort((Me,h)=>Number(Me[0])-Number(h[0])).map(([Me,h])=>({groupKey:Me,rows:h.sort(($,A)=>$.position!==A.position?$.position-A.position:$.row.playerId-A.row.playerId)}))}return(z,ce)=>(v(),y("div",fg,[i("section",mg,[i("div",gg,[i("div",pg,[c.value==="group_live"?(v(),y("article",hg,[i("div",vg,[i("h3",null,a(e.t("sections.liveTitle")),1),i("div",yg,[i("span",bg,a(e.liveSettings.groupDisplayMode==="fixed"?e.t("actions.liveModeFixed"):e.t("actions.liveModeRotate")),1)])]),me(Yt,{name:"live-swap",mode:"out-in"},{default:Mt(()=>[(v(),y("div",{key:"live-group-swap-"+(e.liveGroupCode||"u"),class:"live-swap-block"},[i("div",{class:le(["live-focus-banner","focus-"+q.value])},[i("span",Sg,a(e.t("labels.group")),1),i("strong",$g,a(e.liveGroupCode||e.t("labels.unassigned")),1)],2),i("div",wg,[i("table",Cg,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.position")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.round1")),1),i("th",null,a(e.t("table.round2")),1),i("th",null,a(e.t("table.round3")),1),i("th",null,a(e.t("table.total")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(V.value,(X,Se)=>(v(),y("tr",{key:"live-group-"+X.player.id},[i("td",kg,a(Se+1),1),i("td",null,[i("div",Ig,[i("img",{src:e.playerImage(X.player),alt:X.player.nameAr,class:"competitor-image"},null,8,Pg),i("div",null,[i("p",Tg,a(e.displayName(X.player)),1)])])]),i("td",Fg,a(e.scoreFor("prelim_r1",X.player.id)),1),i("td",Ag,a(e.scoreFor("prelim_r2",X.player.id)),1),i("td",Ng,a(e.scoreFor("prelim_r3",X.player.id)),1),i("td",Eg,a(X.total),1)]))),128)),e.liveGroupMembers.length===0?(v(),y("tr",Rg,[i("td",Mg,a(e.t("labels.emptyLive")),1)])):G("",!0)])])])]))]),_:1})])):c.value==="prelim_tie"?(v(),y("article",xg,[i("div",Gg,[i("h3",null,a(e.t("sections.prelimTieTitle")),1),i("div",Og,[i("span",Bg,a(e.t("table.tieScore")),1),B.value>1?(v(),y("span",Lg,a(U.value),1)):G("",!0)])]),me(Yt,{name:"live-swap",mode:"out-in"},{default:Mt(()=>[W.value?(v(),y("article",{key:"live-pre-tie-group-"+W.value.groupKey,class:"live-tie-group-card"},[i("h4",qg,a(e.t("labels.group"))+" "+a(W.value.groupKey),1),i("div",Dg,[i("table",Ug,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.position")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.tieScore")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(W.value.rows,X=>(v(),y("tr",{key:"live-pre-tie-"+W.value.groupKey+"-"+X.row.playerId},[i("td",Vg,a(X.position),1),i("td",null,[i("div",jg,[i("img",{src:e.playerImage(X.row),alt:X.row.nameAr,class:"competitor-image"},null,8,Kg),i("div",null,[i("p",Hg,a(e.displayName(X.row)),1)])])]),i("td",Wg,a(X.row.tieBreak),1)]))),128))])])])])):G("",!0)]),_:1}),P.value.length===0?(v(),y("div",zg,a(e.t("messages.noPrelimTie")),1)):G("",!0)])):c.value==="prelim_overall"?(v(),y("article",Yg,[i("div",Xg,[i("h3",null,a(e.t("sections.overallTitle")),1),i("div",Jg,[i("span",Zg,a(e.t("labels.top12"))+": "+a(e.finalists.length),1),T.value>1?(v(),y("span",Qg,a(w.value),1)):G("",!0)])]),me(Yt,{name:"live-swap",mode:"out-in"},{default:Mt(()=>[(v(),y("div",{key:"prelim-overall-page-"+s.value,class:"live-swap-block"},[i("div",_g,[i("table",ep,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.rank")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.total")),1),i("th",null,a(e.t("table.tieScore")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(I.value,X=>(v(),y("tr",{key:"live-pre-overall-"+X.playerId},[i("td",tp,[i("div",np,[i("span",null,a(X.rank),1),be(X)?(v(),y("span",ip,a(be(X)),1)):G("",!0)])]),i("td",null,[i("div",op,[i("img",{src:e.playerImage(X),alt:X.nameAr,class:"competitor-image"},null,8,rp),i("div",null,[i("p",sp,a(e.displayName(X)),1)])])]),i("td",lp,a(X.score),1),i("td",ap,a(X.tieBreak),1)]))),128)),k.value.length===0?(v(),y("tr",up,[i("td",cp,a(e.t("labels.noPlayers")),1)])):G("",!0)])])])]))]),_:1})])):c.value==="final_groups"?(v(),y("article",dp,[i("div",fp,[i("h3",null,a(e.t("sections.finalTitle")),1),i("div",mp,[i("span",gp,a(e.liveSettings.finalDisplayMode==="fixed"?e.t("actions.liveModeFixed"):e.t("actions.liveModeRotate")),1)])]),me(Yt,{name:"live-swap",mode:"out-in"},{default:Mt(()=>[(v(),y("div",{key:"live-final-swap-"+e.liveFinalGroup,class:"live-swap-block"},[i("div",pp,[i("span",hp,a(J.value),1),i("strong",vp,a(ne.value),1)]),i("div",yp,[i("table",bp,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.position")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.round1")),1),i("th",null,a(e.t("table.round2")),1),i("th",null,a(e.t("table.total")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(re.value,(X,Se)=>(v(),y("tr",{key:"live-final-group-"+X.row.playerId},[i("td",Sp,a(Se+1),1),i("td",null,[i("div",$p,[i("img",{src:e.playerImage(X.row),alt:X.row.nameAr,class:"competitor-image"},null,8,wp),i("div",null,[i("p",Cp,a(e.displayName(X.row)),1)])])]),i("td",kp,a(e.scoreFor("final_r1",X.row.playerId)),1),i("td",Ip,a(e.scoreFor("final_r2",X.row.playerId)),1),i("td",Pp,a(X.total),1)]))),128)),e.liveFinalRows.length===0?(v(),y("tr",Tp,[i("td",Fp,a(e.t("labels.noFinalists")),1)])):G("",!0)])])])]))]),_:1})])):c.value==="final_tie"?(v(),y("article",Ap,[i("div",Np,[i("h3",null,a(e.t("sections.finalTieTitle")),1),i("div",Ep,[i("span",Rp,a(e.t("table.tieScore")),1),B.value>1?(v(),y("span",Mp,a(U.value),1)):G("",!0)])]),me(Yt,{name:"live-swap",mode:"out-in"},{default:Mt(()=>[Z.value?(v(),y("article",{key:"live-final-tie-group-"+Z.value.groupKey,class:"live-tie-group-card"},[i("h4",xp,a(e.t("labels.group"))+" "+a(Z.value.groupKey),1),i("div",Gp,[i("table",Op,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.position")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.tieScore")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(Z.value.rows,X=>(v(),y("tr",{key:"live-final-tie-"+Z.value.groupKey+"-"+X.row.playerId},[i("td",Bp,a(X.position),1),i("td",null,[i("div",Lp,[i("img",{src:e.playerImage(X.row),alt:X.row.nameAr,class:"competitor-image"},null,8,qp),i("div",null,[i("p",Dp,a(e.displayName(X.row)),1)])])]),i("td",Up,a(X.row.tieBreak),1)]))),128))])])])])):G("",!0)]),_:1}),M.value.length===0?(v(),y("div",Vp,a(e.t("messages.noFinalTie")),1)):G("",!0)])):c.value==="final_overall"?(v(),y("article",jp,[i("div",Kp,[i("h3",null,a(e.t("sections.finalRanking")),1),i("div",Hp,[T.value>1?(v(),y("span",Wp,a(w.value),1)):G("",!0)])]),me(Yt,{name:"live-swap",mode:"out-in"},{default:Mt(()=>[(v(),y("div",{key:"final-overall-page-"+s.value,class:"live-swap-block"},[i("div",zp,[i("table",Yp,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.rank")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.score")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(b.value,X=>(v(),y("tr",{key:"live-final-overall-"+X.playerId},[i("td",Xp,[i("div",Jp,[i("span",null,a(X.rank),1),ge(X)?(v(),y("span",Zp,a(ge(X)),1)):G("",!0)])]),i("td",null,[i("div",Qp,[i("img",{src:e.playerImage(X),alt:X.nameAr,class:"competitor-image"},null,8,_p),i("div",null,[i("p",eh,a(e.displayName(X)),1)])])]),i("td",th,a(X.score),1)]))),128)),e.finalOverallRows.length===0?(v(),y("tr",nh,[i("td",ih,a(e.t("labels.noFinalists")),1)])):G("",!0)])])])]))]),_:1})])):(v(),y("article",oh,[i("div",rh,[i("h3",null,a(e.t("sections.podiumTitle")),1)]),i("div",sh,[i("article",lh,[i("div",ah,[i("img",{class:"podium-img",src:e.podiumImage(e.podiumOrdered[0]),alt:e.podiumName(e.podiumOrdered[0])},null,8,uh)]),ce[0]||(ce[0]=i("div",{class:"podium-medal-icon"},"🥈",-1)),i("h3",{class:le(["podium-name",{empty:!e.podiumHasResult(e.podiumOrdered[0])}]),dir:"auto",title:e.podiumName(e.podiumOrdered[0])},a(e.podiumName(e.podiumOrdered[0])),11,ch),i("div",dh,[i("p",fh,a(e.podiumScoreMain(e.podiumOrdered[0])),1),e.podiumTieSubtitle(e.podiumOrdered[0])?(v(),y("p",mh,a(e.podiumTieSubtitle(e.podiumOrdered[0])),1)):G("",!0)])]),i("article",gh,[i("div",ph,[i("img",{class:"podium-img",src:e.podiumImage(e.podiumOrdered[1]),alt:e.podiumName(e.podiumOrdered[1])},null,8,hh)]),ce[1]||(ce[1]=i("div",{class:"podium-medal-icon"},"🥇",-1)),i("h3",{class:le(["podium-name",{empty:!e.podiumHasResult(e.podiumOrdered[1])}]),dir:"auto",title:e.podiumName(e.podiumOrdered[1])},a(e.podiumName(e.podiumOrdered[1])),11,vh),i("div",yh,[i("p",bh,a(e.podiumScoreMain(e.podiumOrdered[1])),1),e.podiumTieSubtitle(e.podiumOrdered[1])?(v(),y("p",Sh,a(e.podiumTieSubtitle(e.podiumOrdered[1])),1)):G("",!0)])]),i("article",$h,[i("div",wh,[i("img",{class:"podium-img",src:e.podiumImage(e.podiumOrdered[2]),alt:e.podiumName(e.podiumOrdered[2])},null,8,Ch)]),ce[2]||(ce[2]=i("div",{class:"podium-medal-icon"},"🥉",-1)),i("h3",{class:le(["podium-name",{empty:!e.podiumHasResult(e.podiumOrdered[2])}]),dir:"auto",title:e.podiumName(e.podiumOrdered[2])},a(e.podiumName(e.podiumOrdered[2])),11,kh),i("div",Ih,[i("p",Ph,a(e.podiumScoreMain(e.podiumOrdered[2])),1),e.podiumTieSubtitle(e.podiumOrdered[2])?(v(),y("p",Th,a(e.podiumTieSubtitle(e.podiumOrdered[2])),1)):G("",!0)])])])]))])]),ce[3]||(ce[3]=gc('
',1))])]))}},Ah={class:"panel admin-login-panel"},Nh={class:"panel-heading"},Eh={class:"admin-login-grid"},Rh=["value","placeholder"],Mh=["value","placeholder"],xh={key:0,class:"auth-error"},Gh={__name:"AdminLoginPanel",props:{t:{type:Function,required:!0},username:{type:String,default:""},password:{type:String,default:""},error:{type:String,default:""}},emits:["submit","update:username","update:password"],setup(e){return(t,n)=>(v(),y("section",Ah,[i("div",Nh,[i("h2",null,a(e.t("adminLogin")),1),i("p",null,a(e.t("adminLoginDesc")),1)]),i("div",Eh,[i("input",{value:e.username,class:"name-input",placeholder:e.t("auth.username"),onInput:n[0]||(n[0]=o=>t.$emit("update:username",o.target.value))},null,40,Rh),i("input",{value:e.password,type:"password",class:"name-input",placeholder:e.t("auth.password"),onInput:n[1]||(n[1]=o=>t.$emit("update:password",o.target.value)),onKeyup:n[2]||(n[2]=Dn(o=>t.$emit("submit"),["enter"]))},null,40,Mh),i("button",{class:"btn btn-primary",onClick:n[3]||(n[3]=o=>t.$emit("submit"))},a(e.t("actions.login")),1)]),e.error?(v(),y("p",xh,a(e.error),1)):G("",!0)]))}},Oh={class:"panel"},Bh={class:"panel-heading"},Lh={class:"pm-config-card"},qh={class:"pm-config-top"},Dh={class:"pm-config-input"},Uh=["value","placeholder"],Vh={class:"summary-grid admin-summary-grid"},jh={class:"summary-value"},Kh={class:"summary-status ok"},Hh={class:"pm-composer-card"},Wh={class:"pm-composer-grid"},zh=["value","placeholder"],Yh=["value","placeholder"],Xh=["value"],Jh={value:""},Zh=["value"],Qh={class:"pm-composer-actions"},_h={class:"players-tools players-tools-elevated"},ev=["value","placeholder"],tv={class:"players-sort-box"},nv={class:"control-label"},iv=["value"],ov={value:"id"},rv={value:"nameAr"},sv={value:"nameEn"},lv={value:"group"},av={class:"group-cards-grid"},uv={class:"group-player-card-head"},cv={class:"group-card-head-actions"},dv={class:"pm-count-badge mono"},fv=["onClick"],mv={key:0,class:"group-player-list"},gv={class:"group-player-top"},pv={class:"competitor-cell"},hv=["src","alt","onClick"],vv={class:"name-edit-grid vertical"},yv=["value","placeholder","onBlur"],bv=["value","placeholder","onBlur"],Sv={class:"panel-actions compact name-convert-row"},$v=["onClick"],wv=["onClick"],Cv={class:"group-player-actions"},kv=["value","onChange"],Iv={value:""},Pv=["value"],Tv=["onClick"],Fv=["onClick"],Av={key:1,class:"empty-state"},Nv={__name:"PlayersManagementTab",props:{t:{type:Function,required:!0},groupSetupInput:{type:String,default:""},adminGroupCards:{type:Array,required:!0},newPlayer:{type:Object,required:!0},assignableGroups:{type:Array,required:!0},playersSorted:{type:Array,required:!0},playerFilter:{type:String,default:""},playerSort:{type:String,default:"id"},playerImage:{type:Function,required:!0},groupOptionLabel:{type:Function,required:!0},normalizedGroupCode:{type:Function,required:!0}},emits:["update:group-setup-input","save-group-setup","auto-group-even","update:new-player","create-player","convert-new-name","update:player-filter","update:player-sort","open-image-uploader","update-player-field","update-player-group","convert-row-name","remove-player-image","delete-player"],setup(e){const t=e,n=L(()=>{const m=String(t.playerFilter||"").trim().toLowerCase();return m?t.playersSorted.filter(g=>{const S=String(g.nameAr||""),k=String(g.nameEn||"").toLowerCase();return S.includes(m)||k.includes(m)}):t.playersSorted}),o=L(()=>{const m=[...n.value];return m.sort((g,S)=>f(g,S,t.playerSort)),m}),r=L(()=>{const m=[],g=new Map;for(const O of t.assignableGroups||[]){const T=t.normalizedGroupCode(O);!T||g.has(T)||(g.set(T,[]),m.push(T))}for(const O of o.value){const T=t.normalizedGroupCode(O.groupCode);T&&(g.has(T)||(g.set(T,[]),m.push(T)),g.get(T).push(O))}const S=o.value.filter(O=>!t.normalizedGroupCode(O.groupCode)),k=m.map(O=>({code:O,key:C(O),label:`${t.t("labels.group")} ${O}`,players:g.get(O)||[]}));return k.push({code:"",key:"u",label:t.t("labels.unassigned"),players:S}),k}),l=ve({});Ue(r,m=>{const g={};for(const S of m)g[S.code||"U"]=l.value[S.code||"U"]||!1;l.value=g},{immediate:!0});function c(m){return!!l.value[m||"U"]}function s(m){const g=m||"U";l.value[g]=!l.value[g]}function f(m,g,S){if(S==="nameAr")return String(m.nameAr||"").localeCompare(String(g.nameAr||""),"ar")||m.id-g.id;if(S==="nameEn")return String(m.nameEn||"").localeCompare(String(g.nameEn||""),"en")||m.id-g.id;if(S==="group"){const k=t.normalizedGroupCode(m.groupCode),O=t.normalizedGroupCode(g.groupCode);return k!==O?k?O?k.localeCompare(O):-1:1:m.id-g.id}return m.id-g.id}function C(m){const g=t.normalizedGroupCode(m);return g.startsWith("A")?"a":g.startsWith("B")?"b":g.startsWith("C")?"c":g.startsWith("D")?"d":"u"}return(m,g)=>(v(),y("section",Oh,[i("div",Bh,[i("h2",null,a(e.t("sections.playersTitle")),1),i("p",null,a(e.t("sections.playersSubtitle")),1)]),i("div",Lh,[i("div",qh,[i("div",Dh,[i("input",{value:e.groupSetupInput,class:"name-input en",dir:"ltr",placeholder:e.t("sections.groupsConfigPlaceholder"),onInput:g[0]||(g[0]=S=>m.$emit("update:group-setup-input",S.target.value))},null,40,Uh),i("button",{class:"btn btn-outline",onClick:g[1]||(g[1]=S=>m.$emit("save-group-setup"))},a(e.t("actions.updateGroups")),1)]),i("button",{class:"btn btn-primary",onClick:g[2]||(g[2]=S=>m.$emit("auto-group-even"))},a(e.t("actions.randomEvenGroups")),1)]),i("div",Vh,[(v(!0),y(_,null,de(e.adminGroupCards,S=>(v(),y("article",{key:"admin-group-"+S.key,class:le(["summary-card","group-"+S.key])},[i("h3",null,a(S.label),1),i("p",jh,a(S.count),1),i("p",Kh,a(e.t("labels.players")),1)],2))),128))])]),i("div",Hh,[i("div",Wh,[i("input",{value:e.newPlayer.nameAr,class:"name-input ar",placeholder:e.t("table.arabicName"),onInput:g[3]||(g[3]=S=>m.$emit("update:new-player",{key:"nameAr",value:S.target.value}))},null,40,zh),i("input",{value:e.newPlayer.nameEn,class:"name-input en",dir:"ltr",placeholder:e.t("table.englishName"),onInput:g[4]||(g[4]=S=>m.$emit("update:new-player",{key:"nameEn",value:S.target.value}))},null,40,Yh),i("select",{value:e.newPlayer.groupCode,class:"name-input",onChange:g[5]||(g[5]=S=>m.$emit("update:new-player",{key:"groupCode",value:S.target.value}))},[i("option",Jh,a(e.groupOptionLabel("")),1),(v(!0),y(_,null,de(e.assignableGroups,S=>(v(),y("option",{key:"new-group-"+S,value:S},a(e.groupOptionLabel(S)),9,Zh))),128))],40,Xh),i("button",{class:"btn btn-primary",onClick:g[6]||(g[6]=S=>m.$emit("create-player"))},a(e.t("actions.addPlayer")),1)]),i("div",Qh,[i("button",{class:"btn btn-outline",onClick:g[7]||(g[7]=S=>m.$emit("convert-new-name","ar_to_en"))},a(e.t("actions.convertArToEn")),1),i("button",{class:"btn btn-outline",onClick:g[8]||(g[8]=S=>m.$emit("convert-new-name","en_to_ar"))},a(e.t("actions.convertEnToAr")),1)])]),i("div",_h,[i("input",{class:"name-input",value:e.playerFilter,placeholder:e.t("actions.searchPlayer"),onInput:g[9]||(g[9]=S=>m.$emit("update:player-filter",S.target.value))},null,40,ev),i("div",tv,[i("label",nv,a(e.t("labels.sortBy")),1),i("select",{class:"name-input",value:e.playerSort,onChange:g[10]||(g[10]=S=>m.$emit("update:player-sort",S.target.value))},[i("option",ov,a(e.t("actions.sortById")),1),i("option",rv,a(e.t("actions.sortByArabic")),1),i("option",sv,a(e.t("actions.sortByEnglish")),1),i("option",lv,a(e.t("actions.sortByGroup")),1)],40,iv)])]),i("div",av,[(v(!0),y(_,null,de(r.value,S=>(v(),y("article",{key:"group-card-"+S.code,class:le(["group-player-card","group-"+S.key])},[i("header",uv,[i("h3",null,a(S.label),1),i("div",cv,[i("span",dv,a(S.players.length),1),i("button",{class:"group-card-toggle",type:"button",onClick:k=>s(S.code)},a(c(S.code)?"+":"−"),9,fv)])]),S.players.length>0&&!c(S.code)?(v(),y("div",mv,[(v(!0),y(_,null,de(S.players,k=>(v(),y("div",{class:"group-player-row",key:"card-player-"+k.id},[i("div",gv,[i("div",pv,[i("img",{src:e.playerImage(k),alt:k.nameAr,class:"competitor-image clickable",onClick:O=>m.$emit("open-image-uploader",k.id)},null,8,hv),i("div",vv,[i("input",{class:"name-input ar",value:k.nameAr,placeholder:e.t("table.arabicName"),onBlur:O=>m.$emit("update-player-field",{player:k,field:"nameAr",event:O})},null,40,yv),i("input",{class:"name-input en",dir:"ltr",value:k.nameEn,placeholder:e.t("table.englishName"),onBlur:O=>m.$emit("update-player-field",{player:k,field:"nameEn",event:O})},null,40,bv)])])]),i("div",Sv,[i("button",{class:"btn btn-outline btn-xs",onClick:O=>m.$emit("convert-row-name",{player:k,direction:"ar_to_en"})},a(e.t("actions.convertArToEn")),9,$v),i("button",{class:"btn btn-outline btn-xs",onClick:O=>m.$emit("convert-row-name",{player:k,direction:"en_to_ar"})},a(e.t("actions.convertEnToAr")),9,wv)]),i("div",Cv,[i("select",{class:"name-input",value:e.normalizedGroupCode(k.groupCode),onChange:O=>m.$emit("update-player-group",{player:k,event:O})},[i("option",Iv,a(e.groupOptionLabel("")),1),(v(!0),y(_,null,de(e.assignableGroups,O=>(v(),y("option",{key:"player-group-"+k.id+"-"+O,value:O},a(e.groupOptionLabel(O)),9,Pv))),128))],40,kv),i("button",{class:"btn btn-outline",onClick:O=>m.$emit("remove-player-image",k.id)},a(e.t("actions.removeImage")),9,Tv),i("button",{class:"btn btn-danger",onClick:O=>m.$emit("delete-player",k.id)},a(e.t("actions.delete")),9,Fv)])]))),128))])):S.players.length===0?(v(),y("div",Av,a(e.t("labels.noPlayers")),1)):G("",!0)],2))),128))])]))}},rl=["A","B","C","D"];function Ne(e){return String(e||"").trim().toUpperCase()}function sl(e){const t=String(e||"").split(",").map(n=>Ne(n)).filter(Boolean);return[...new Set(t)]}function Ev(e){const t=e.getItem("shooting_group_list"),n=sl(t);return n.length>0?n:rl}function Ur(e){const t=Ne(e);return t.startsWith("A")?"a":t.startsWith("B")?"b":t.startsWith("C")?"c":t.startsWith("D")?"d":"u"}const Rv={A:{accent:"#0d1931",soft:"rgba(13, 25, 49, 0.14)",border:"rgba(13, 25, 49, 0.44)"},B:{accent:"#008ca8",soft:"rgba(0, 140, 168, 0.14)",border:"rgba(0, 140, 168, 0.44)"},C:{accent:"#ed2e23",soft:"rgba(237, 46, 35, 0.14)",border:"rgba(237, 46, 35, 0.44)"},D:{accent:"#1b325f",soft:"rgba(27, 50, 95, 0.14)",border:"rgba(27, 50, 95, 0.42)"},F1:{accent:"#ed2e23",soft:"rgba(237, 46, 35, 0.14)",border:"rgba(237, 46, 35, 0.44)"},F2:{accent:"#008ca8",soft:"rgba(0, 140, 168, 0.14)",border:"rgba(0, 140, 168, 0.44)"},U:{accent:"#4c5f86",soft:"rgba(76, 95, 134, 0.14)",border:"rgba(76, 95, 134, 0.4)"}},_i=[{accent:"#0d1931",soft:"rgba(13, 25, 49, 0.15)",border:"rgba(13, 25, 49, 0.46)"},{accent:"#008ca8",soft:"rgba(0, 140, 168, 0.15)",border:"rgba(0, 140, 168, 0.46)"},{accent:"#ed2e23",soft:"rgba(237, 46, 35, 0.15)",border:"rgba(237, 46, 35, 0.46)"},{accent:"#1b325f",soft:"rgba(27, 50, 95, 0.15)",border:"rgba(27, 50, 95, 0.44)"},{accent:"#0d5f72",soft:"rgba(13, 95, 114, 0.15)",border:"rgba(13, 95, 114, 0.44)"},{accent:"#b8261d",soft:"rgba(184, 38, 29, 0.15)",border:"rgba(184, 38, 29, 0.44)"}];function Mv(e){const t=Number((e==null?void 0:e.finalGroup)||0);if(t===1)return"F1";if(t===2)return"F2";const n=Ne((e==null?void 0:e.groupCode)||"");return n||"U"}function yi(e){const t=Mv(e),n=Rv[t];return n?{"--score-group-accent":n.accent,"--score-group-soft":n.soft,"--score-group-border":n.border}:bi(t)}function xv(e){const t=Number(e||0),n=Number.isFinite(t)?t:0,o=ll(`score:${n}`);return{"--score-group-accent":`hsl(${o} 70% 38%)`,"--score-group-soft":`hsla(${o}, 72%, 46%, 0.10)`,"--score-group-border":`hsla(${o}, 70%, 38%, 0.34)`}}function bi(e,t={}){const n=String(e||"").trim().toUpperCase(),o=n.replace(/^[A-Z]/,""),r=Number.parseInt(o||n,10),l=Number.isFinite(r)&&r>0?(r-1)%_i.length:ll(n||"U")%_i.length,c=_i[l];return t.tieBreak?{"--score-group-accent":c.accent,"--score-group-soft":c.soft.replace("0.15","0.2"),"--score-group-border":c.border}:{"--score-group-accent":c.accent,"--score-group-soft":c.soft,"--score-group-border":c.border}}function ll(e){const t=String(e||"U");let n=0;for(let o=0;o{const T=String(t.filterText||"").trim().toLowerCase();return T?t.rows.filter(w=>{const I=String(w.nameAr||""),b=String(w.nameEn||"").toLowerCase();return I.includes(T)||b.includes(T)}):t.rows}),r=L(()=>{if(!t.sectionByGroup)return[{key:"all",label:t.t("labels.allPlayers"),rows:o.value,style:null}].filter(w=>w.rows.length>0);const T=new Map;for(const w of o.value){const I=l(w);T.has(I)||T.set(I,{key:I,label:c(I),rows:[]}),T.get(I).rows.push(w)}return[...T.values()].sort((w,I)=>s(w.key)-s(I.key)||String(w.key).localeCompare(String(I.key))).map(w=>({...w,style:f(w.key,w.rows[0])}))});Ue(r,T=>{const w={};for(const I of T)w[I.key]=n.value[I.key]||!1;n.value=w},{immediate:!0});function l(T){const w=String((T==null?void 0:T._boardGroupKey)||"").trim();if(w)return`B${w}`;if(t.tieBreakSectionMode){const P=Number.parseInt(String((T==null?void 0:T.scoreGroup)||""),10);if(Number.isFinite(P)&&P>0)return`T${P}`}const I=Number.parseInt(String((T==null?void 0:T.finalGroup)||""),10);if(Number.isFinite(I)&&I>0)return`F${I}`;const b=Ne((T==null?void 0:T.groupCode)||"");return b?`G${b}`:"U"}function c(T){return T==="U"?`${t.t("labels.group")} ${t.t("labels.unassigned")}`:T.startsWith("B")?`${t.t("labels.group")} ${T.slice(1)}`:T.startsWith("T")?`${t.t("labels.group")} ${T.slice(1)}`:T.startsWith("F")?`${t.t("labels.group")} ${T.slice(1)}`:T.startsWith("G")?`${t.t("labels.group")} ${T.slice(1)}`:`${t.t("labels.group")} ${T}`}function s(T){if(T==="U")return 9999;if(T.startsWith("B")){const w=T.slice(1),I=Number.parseInt(w,10);if(Number.isFinite(I)&&I>0)return I;const b=String(w).toUpperCase();return b==="A"?1:b==="B"?2:b==="C"?3:b==="D"?4:5e3+O(b)}if(T.startsWith("T")||T.startsWith("F"))return Number.parseInt(T.slice(1),10)||9998;if(T.startsWith("G")){const w=T.slice(1),I=String(w||"").trim().toUpperCase();return I==="A"?1:I==="B"?2:I==="C"?3:I==="D"?4:5e3+O(I)}return 8e3+O(T)}function f(T,w){return T.startsWith("B")?bi(T):t.tieBreakSectionMode?bi(T,{tieBreak:!0}):yi(w)}function C(T,w){var I;return(I=w==null?void 0:w.key)!=null&&I.startsWith("B")&&(w!=null&&w.style)||t.tieBreakSectionMode&&(w!=null&&w.style)?w.style:t.colorMode==="score"?xv(T==null?void 0:T.score):yi(T)}function m(T){return!!n.value[T]}function g(T){n.value[T]=!n.value[T]}function S(T,w){if(!(String(t.highlightStage||"").trim().toLowerCase()===String(T||"").trim().toLowerCase()))return!1;const b=String(t.highlightGroup||"").trim().toUpperCase();return b?k(w)===b:!0}function k(T){const w=String((T==null?void 0:T.key)||"").trim();return w?w==="U"?"UNASSIGNED":w.startsWith("B")||w.startsWith("F")||w.startsWith("G")||w.startsWith("T")?String(w.slice(1)).trim().toUpperCase():w.toUpperCase():""}function O(T){const w=String(T||"U");let I=0;for(let b=0;b(v(),y("div",null,[e.showFilter?(v(),y("div",Gv,[i("input",{class:"name-input",value:e.filterText,placeholder:e.t("actions.searchPlayer"),onInput:w[0]||(w[0]=I=>T.$emit("update:filter",I.target.value))},null,40,Ov)])):G("",!0),(v(!0),y(_,null,de(r.value,I=>(v(),y("div",{key:"section-"+e.stage+"-"+I.key,class:le(["score-section-block",{"tie-break":e.tieBreakSectionMode}]),style:Bt(I.style)},[i("button",{class:"score-section-toggle",type:"button",onClick:b=>g(I.key)},[i("span",Lv,a(I.label),1),i("span",qv,a(I.rows.length)+" • "+a(m(I.key)?"+":"−"),1)],8,Bv),m(I.key)?G("",!0):(v(),y(_,{key:0},[i("div",Dv,[i("table",Uv,[i("thead",null,[i("tr",null,[w[1]||(w[1]=i("th",null,"#",-1)),i("th",null,a(e.t("table.competitor")),1),e.showGroup?(v(),y("th",Vv,a(e.t("table.group")),1)):G("",!0),e.showScoreBeforeInput?(v(),y("th",jv,a(e.t("table.score")),1)):G("",!0),i("th",{class:le({"stage-column-highlight":S(e.stage,I)})},a(e.inputLabel),3),e.showProofControls?(v(),y("th",Kv,a(e.t("table.verification")),1)):G("",!0),e.showRank?(v(),y("th",Hv,a(e.t("table.rank")),1)):G("",!0),e.showSeed?(v(),y("th",Wv,a(e.t("table.seed")),1)):G("",!0)])]),i("tbody",null,[(v(!0),y(_,null,de(I.rows,(b,P)=>(v(),y("tr",{key:"desk-"+e.stage+"-"+I.key+"-"+b.playerId,class:"score-group-row",style:Bt(C(b,I))},[i("td",zv,a(P+1),1),i("td",null,[i("div",Yv,[i("img",{src:e.playerImage(b),alt:b.nameAr,class:"competitor-image"},null,8,Xv),i("div",null,[i("p",Jv,a(e.displayName(b)),1),i("p",Zv,a(e.secondaryName(b)),1)])])]),e.showGroup?(v(),y("td",Qv,a(b.groupCode||e.t("labels.unassigned")),1)):G("",!0),e.showScoreBeforeInput?(v(),y("td",_v,a(b.score),1)):G("",!0),i("td",{class:le({"stage-column-highlight":S(e.stage,I)})},[i("input",{class:le(["score-input",{"score-input-over-limit":e.scoreInputInvalid(e.stage,b.playerId),"score-input-stage-highlight":S(e.stage,I)}]),type:"number",inputmode:"numeric",pattern:"[0-9]*",min:"0",max:"100",value:e.scoreInputValue(e.stage,b.playerId),onFocus:M=>e.onScoreFocus(e.stage,b.playerId),onInput:M=>e.onScoreInput(e.stage,b.playerId,M),onBlur:M=>e.onScoreCommit(e.stage,b.playerId),onKeydown:Dn(ht(M=>e.onScoreCommit(e.stage,b.playerId),["prevent"]),["enter"])},null,42,ey)],2),e.showRank?(v(),y("td",ty,a(b.rank),1)):G("",!0),e.showSeed?(v(),y("td",ny,a(b.seed),1)):G("",!0)],4))),128))])])]),i("div",iy,[(v(!0),y(_,null,de(I.rows,(b,P)=>(v(),y("article",{key:"mob-"+e.stage+"-"+I.key+"-"+b.playerId,class:"score-card score-group-card",style:Bt(C(b,I))},[i("div",oy,[i("div",ry,[i("img",{src:e.playerImage(b),alt:b.nameAr,class:"competitor-image"},null,8,sy),i("div",null,[i("p",ly,a(e.displayName(b)),1),i("p",ay,a(e.secondaryName(b)),1)])]),i("div",uy,"#"+a(P+1),1)]),i("div",cy,[e.showGroup?(v(),y("span",dy,a(e.t("table.group"))+": "+a(b.groupCode||e.t("labels.unassigned")),1)):G("",!0),e.showScoreBeforeInput?(v(),y("span",fy,a(e.t("table.score"))+": "+a(b.score),1)):G("",!0),e.showRank?(v(),y("span",my,a(e.t("table.rank"))+": "+a(b.rank),1)):G("",!0),e.showSeed?(v(),y("span",gy,a(e.t("table.seed"))+": "+a(b.seed),1)):G("",!0)]),i("label",{class:le(["score-label",{"stage-column-highlight":S(e.stage,I)}])},a(e.inputLabel),3),i("input",{class:le(["score-input",{"score-input-over-limit":e.scoreInputInvalid(e.stage,b.playerId),"score-input-stage-highlight":S(e.stage,I)}]),type:"number",inputmode:"numeric",pattern:"[0-9]*",min:"0",max:"100",value:e.scoreInputValue(e.stage,b.playerId),onFocus:M=>e.onScoreFocus(e.stage,b.playerId),onInput:M=>e.onScoreInput(e.stage,b.playerId,M),onBlur:M=>e.onScoreCommit(e.stage,b.playerId),onKeydown:Dn(ht(M=>e.onScoreCommit(e.stage,b.playerId),["prevent"]),["enter"])},null,42,py),e.showProofControls?(v(),y("div",hy,[i("button",{class:"btn btn-outline btn-xs",onClick:M=>e.openScoreProofUploader(e.stage,b.playerId)},a(e.hasScoreProof(e.stage,b.playerId)?e.t("actions.replaceProof"):e.t("actions.uploadProof")),9,vy),e.hasScoreProof(e.stage,b.playerId)?(v(),y("button",{key:0,class:"btn btn-danger btn-xs",onClick:M=>e.removeScoreProof(e.stage,b.playerId)},a(e.t("actions.removeProof")),9,yy)):G("",!0),e.hasScoreProof(e.stage,b.playerId)?(v(),y("img",{key:1,class:"proof-thumb",src:e.scoreProofFor(e.stage,b.playerId),alt:e.t("table.verification"),onClick:M=>e.openProofPreview(e.stage,b.playerId)},null,8,by)):G("",!0)])):G("",!0)],4))),128))])],64))],6))),128)),r.value.length===0?(v(),y("div",Sy,a(e.t("labels.noPlayers")),1)):G("",!0)]))}},$y={class:"live-settings-card"},wy={class:"live-settings-head"},Cy={class:"live-settings-row"},ky={class:"control-label"},Iy=["value"],Py={value:"group_live"},Ty={value:"prelim_tie"},Fy={value:"prelim_overall"},Ay={value:"final_groups"},Ny={value:"final_tie"},Ey={value:"final_overall"},Ry={value:"podium"},My={class:"live-settings-row"},xy={class:"control-label"},Gy={class:"inline-settings"},Oy=["value"],By={value:"rotate"},Ly={value:"fixed"},qy=["value"],Dy={value:""},Uy=["value"],Vy={class:"live-settings-row"},jy={class:"control-label"},Ky={class:"inline-settings"},Hy=["value"],Wy={value:"rotate"},zy={value:"fixed"},Yy=["value"],Xy={class:"live-settings-row"},Jy={class:"control-label"},Zy=["value"],Qy={class:"live-settings-row"},_y={class:"control-label"},eb=["value"],tb={class:"live-settings-row"},nb={class:"control-label"},ib={class:"stage-control-grid"},ob={class:"stage-select-card"},rb={class:"stage-select-label"},sb=["value"],lb={value:"preliminary"},ab={value:"prelim_tiebreak"},ub={value:"final"},cb={value:"final_tiebreak"},db={class:"stage-select-card"},fb={class:"stage-select-label"},mb=["value","disabled"],gb={key:0,value:""},pb=["value"],hb={class:"stage-select-card"},vb={class:"stage-select-label"},yb=["value"],bb=["value"],Sb={class:"stage-selection-preview"},$b={class:"panel-actions compact stage-action-row"},wb=["disabled"],Cb={class:"stage-status-grid"},kb={class:"stage-status-card"},Ib={class:"stage-status-title"},Pb={class:"stage-status-main"},Tb={class:"stage-status-sub"},Fb={class:"panel-actions compact stage-status-actions"},Ab={key:1,class:"stage-status-empty"},Nb={class:"stage-status-card"},Eb={class:"stage-status-title"},Rb={class:"stage-status-main"},Mb={class:"stage-status-sub"},xb={key:0,class:"stage-status-sub"},Gb={key:1,class:"stage-status-empty"},Ob={__name:"LiveSettingsCard",props:{t:{type:Function,required:!0},liveSettings:{type:Object,required:!0},assignableGroups:{type:Array,required:!0},stageControl:{type:Object,required:!0},stageOptions:{type:Object,required:!0},currentStage:{type:Object,default:null},lastStage:{type:Object,default:null}},emits:["update-live-setting","update-stage-control","start-stage","end-stage","navigate-current-stage"],setup(e,{emit:t}){const n=e,o=t,r=L(()=>{var k;const g=String(n.stageControl.phase||"").trim().toLowerCase(),S=(k=n.stageOptions)==null?void 0:k[g];return Array.isArray(S)?S:[]}),l=L(()=>{const g=String(n.stageControl.phase||"").trim().toLowerCase();return g==="preliminary"?[1,2,3]:g==="final"?[1,2]:[1]}),c=L(()=>{const g=C(n.stageControl.phase),S=String(n.stageControl.group||"").trim()||"-",k=Number(n.stageControl.round||1);return`${n.t("labels.stagePhase")}: ${g} · ${n.t("labels.stageGroup")}: ${S} · ${n.t("labels.stageRound")}: ${k}`});function s(g){o("update-live-setting",g)}function f(g){o("update-stage-control",g)}function C(g){const S=String(g||"").trim().toLowerCase();return S==="preliminary"?n.t("labels.phasePreliminary"):S==="prelim_tiebreak"?n.t("labels.phasePrelimTie"):S==="final"?n.t("labels.phaseFinal"):S==="final_tiebreak"?n.t("labels.phaseFinalTie"):S||"-"}function m(g){if(!g)return"-";const S=String(g.group||"").trim()||"-",k=Number(g.round||1);return`${C(g.phase)} · ${n.t("labels.stageGroup")} ${S} · ${n.t("labels.stageRound")} ${k}`}return(g,S)=>(v(),y("section",$y,[i("div",wy,[i("h3",null,a(e.t("labels.liveModeVisibility")),1)]),i("div",Cy,[i("label",ky,a(e.t("labels.activeLiveView")),1),i("select",{class:"name-input",value:e.liveSettings.activeView,onChange:S[0]||(S[0]=k=>s({activeView:k.target.value}))},[i("option",Py,a(e.t("labels.liveViewGroup")),1),i("option",Ty,a(e.t("labels.liveViewPrelimTie")),1),i("option",Fy,a(e.t("labels.liveViewPrelimOverall")),1),i("option",Ay,a(e.t("labels.liveViewFinalGroups")),1),i("option",Ny,a(e.t("labels.liveViewFinalTie")),1),i("option",Ey,a(e.t("labels.liveViewFinalOverall")),1),i("option",Ry,a(e.t("labels.liveViewPodium")),1)],40,Iy)]),i("div",My,[i("label",xy,a(e.t("labels.groupDisplayMode")),1),i("div",Gy,[i("select",{class:"name-input",value:e.liveSettings.groupDisplayMode,onChange:S[1]||(S[1]=k=>s({groupDisplayMode:k.target.value}))},[i("option",By,a(e.t("actions.liveModeRotate")),1),i("option",Ly,a(e.t("actions.liveModeFixed")),1)],40,Oy),e.liveSettings.groupDisplayMode==="fixed"?(v(),y("select",{key:0,class:"name-input",value:e.liveSettings.groupFixedCode||"",onChange:S[2]||(S[2]=k=>s({groupFixedCode:k.target.value}))},[i("option",Dy,a(e.t("labels.unassigned")),1),(v(!0),y(_,null,de(e.assignableGroups,k=>(v(),y("option",{key:"live-fixed-group-"+k,value:k},a(k),9,Uy))),128))],40,qy)):G("",!0)])]),i("div",Vy,[i("label",jy,a(e.t("labels.finalDisplayMode")),1),i("div",Ky,[i("select",{class:"name-input",value:e.liveSettings.finalDisplayMode,onChange:S[3]||(S[3]=k=>s({finalDisplayMode:k.target.value}))},[i("option",Wy,a(e.t("actions.liveModeRotate")),1),i("option",zy,a(e.t("actions.liveModeFixed")),1)],40,Hy),e.liveSettings.finalDisplayMode==="fixed"?(v(),y("select",{key:0,class:"name-input",value:String(e.liveSettings.finalFixedGroup||1),onChange:S[4]||(S[4]=k=>s({finalFixedGroup:Number(k.target.value)||1}))},[...S[13]||(S[13]=[i("option",{value:"1"},"1",-1),i("option",{value:"2"},"2",-1)])],40,Yy)):G("",!0)])]),i("div",Xy,[i("label",Jy,a(e.t("labels.rotationIntervalSec")),1),i("input",{class:"name-input",type:"number",min:"3",max:"30",value:e.liveSettings.rotationIntervalSec||5,onChange:S[5]||(S[5]=k=>s({rotationIntervalSec:Number(k.target.value)||5}))},null,40,Zy)]),i("div",Qy,[i("label",_y,a(e.t("labels.rotationPlayerCount")),1),i("input",{class:"name-input",type:"number",min:"3",max:"40",value:e.liveSettings.rotationPlayerCount||12,onChange:S[6]||(S[6]=k=>s({rotationPlayerCount:Number(k.target.value)||12}))},null,40,eb)]),S[14]||(S[14]=i("hr",{class:"live-settings-divider"},null,-1)),i("div",tb,[i("label",nb,a(e.t("labels.stageControl")),1),i("div",ib,[i("div",ob,[i("p",rb,a(e.t("labels.stagePhase")),1),i("select",{class:"name-input",value:e.stageControl.phase,onChange:S[7]||(S[7]=k=>f({phase:k.target.value}))},[i("option",lb,a(e.t("labels.phasePreliminary")),1),i("option",ab,a(e.t("labels.phasePrelimTie")),1),i("option",ub,a(e.t("labels.phaseFinal")),1),i("option",cb,a(e.t("labels.phaseFinalTie")),1)],40,sb)]),i("div",db,[i("p",fb,a(e.t("labels.stageGroup")),1),i("select",{class:"name-input",value:e.stageControl.group,onChange:S[8]||(S[8]=k=>f({group:k.target.value})),disabled:r.value.length===0},[r.value.length===0?(v(),y("option",gb,a(e.t("messages.noGroupForPhase")),1)):G("",!0),(v(!0),y(_,null,de(r.value,k=>(v(),y("option",{key:"stage-group-"+e.stageControl.phase+"-"+k,value:k},a(k),9,pb))),128))],40,mb)]),i("div",hb,[i("p",vb,a(e.t("labels.stageRound")),1),i("select",{class:"name-input",value:String(e.stageControl.round),onChange:S[9]||(S[9]=k=>f({round:Number(k.target.value)||1}))},[(v(!0),y(_,null,de(l.value,k=>(v(),y("option",{key:"stage-round-"+e.stageControl.phase+"-"+k,value:String(k)},a(k),9,bb))),128))],40,yb)])]),i("p",Sb,a(c.value),1),i("div",$b,[i("button",{class:"btn btn-primary stage-start-btn",onClick:S[10]||(S[10]=k=>g.$emit("start-stage")),disabled:r.value.length===0},a(e.t("actions.startStage")),9,wb),i("button",{class:"btn btn-outline",onClick:S[11]||(S[11]=k=>g.$emit("end-stage"))},a(e.t("actions.endStage")),1)])]),i("div",Cb,[i("div",kb,[i("p",Ib,a(e.t("labels.currentStage")),1),e.currentStage?(v(),y(_,{key:0},[i("p",Pb,a(m(e.currentStage)),1),i("p",Tb,a(e.t("labels.startedAt"))+": "+a(e.currentStage.startedAt||"-"),1),i("div",Fb,[i("button",{class:"btn btn-primary btn-xs",onClick:S[12]||(S[12]=k=>g.$emit("navigate-current-stage"))},a(e.t("actions.goToStageScoring")),1)])],64)):(v(),y("p",Ab,a(e.t("labels.noCurrentStage")),1))]),i("div",Nb,[i("p",Eb,a(e.t("labels.lastStage")),1),e.lastStage?(v(),y(_,{key:0},[i("p",Rb,a(m(e.lastStage)),1),i("p",Mb,a(e.t("labels.startedAt"))+": "+a(e.lastStage.startedAt||"-"),1),e.lastStage.endedAt?(v(),y("p",xb,a(e.t("labels.endedAt"))+": "+a(e.lastStage.endedAt),1)):G("",!0)],64)):(v(),y("p",Gb,a(e.t("labels.noLastStage")),1))])])]))}},Bb={key:0,class:"stage-filter-bar"},Lb=["value","placeholder"],qb=["onClick"],Db={class:"score-section-title"},Ub={class:"score-section-meta"},Vb={key:0,class:"score-section-alert"},jb={class:"table-wrap desktop-score-table"},Kb={class:"score-table"},Hb={key:0},Wb={key:1},zb={key:2},Yb={key:3},Xb={class:"mono"},Jb={class:"competitor-cell compact"},Zb=["src","alt"],Qb={class:"name-main"},_b={class:"name-sub"},e1={key:0,class:"mono"},t1={key:1,class:"mono rank"},n1={key:2,class:"mono"},i1=["value","onFocus","onInput","onBlur","onKeydown"],o1={class:"mono strong"},r1={key:3,class:"verify-round-cell"},s1={class:"verify-round-list"},l1={class:"verify-round-label"},a1=["onClick"],u1=["src","alt","onClick"],c1={class:"mobile-score-cards"},d1={class:"score-card-head"},f1={class:"competitor-cell compact"},m1=["src","alt"],g1={class:"name-main"},p1={class:"name-sub"},h1={class:"mono"},v1={class:"score-card-meta"},y1={key:0},b1={key:1},S1={key:2},$1={class:"mobile-round-grid"},w1={class:"score-label"},C1=["value","onFocus","onInput","onBlur","onKeydown"],k1={class:"mobile-total-line"},I1={class:"muted"},P1={class:"mono"},T1={key:0,class:"mobile-verify-block"},F1={class:"mobile-verify-title"},A1={class:"verify-round-list mobile"},N1={class:"verify-round-label"},E1=["onClick"],R1=["src","alt","onClick"],M1={key:1,class:"empty-state"},jr={__name:"MultiRoundScoreEditor",props:{t:{type:Function,required:!0},rows:{type:Array,required:!0},roundStages:{type:Array,required:!0},totalScore:{type:Function,required:!0},showFilter:{type:Boolean,default:!0},filterText:{type:String,default:""},showGroup:{type:Boolean,default:!1},showRank:{type:Boolean,default:!1},showSeed:{type:Boolean,default:!1},sectionByGroup:{type:Boolean,default:!1},overflowLimit:{type:Number,default:0},showProofControls:{type:Boolean,default:!0},playerImage:{type:Function,required:!0},displayName:{type:Function,required:!0},secondaryName:{type:Function,required:!0},scoreInputValue:{type:Function,required:!0},scoreInputInvalid:{type:Function,required:!0},onScoreFocus:{type:Function,required:!0},onScoreInput:{type:Function,required:!0},onScoreCommit:{type:Function,required:!0},hasScoreProof:{type:Function,required:!0},scoreProofFor:{type:Function,required:!0},openScoreProofUploader:{type:Function,required:!0},openProofPreview:{type:Function,required:!0},highlightStage:{type:String,default:""},highlightGroup:{type:String,default:""}},emits:["update:filter"],setup(e){const t=e,n=ve({}),o=L(()=>{const w=String(t.filterText||"").trim().toLowerCase();return w?t.rows.filter(I=>{const b=String(I.nameAr||""),P=String(I.nameEn||"").toLowerCase();return b.includes(w)||P.includes(w)}):t.rows}),r=L(()=>{if(!t.sectionByGroup)return[{key:"all",label:t.t("labels.allPlayers"),rows:o.value,style:null}].filter(I=>I.rows.length>0);const w=new Map;for(const I of o.value){const b=l(I);w.has(b)||w.set(b,{key:b,label:c(b),rows:[]}),w.get(b).rows.push(I)}return[...w.values()].sort((I,b)=>s(I.key)-s(b.key)||String(I.key).localeCompare(String(b.key))).map(I=>({...I,style:C(I.key,I.rows[0])}))});Ue(r,w=>{const I={};for(const b of w)I[b.key]=n.value[b.key]||!1;n.value=I},{immediate:!0});function l(w){const I=String((w==null?void 0:w._boardGroupKey)||"").trim();if(I)return`B${I}`;const b=Number.parseInt(String((w==null?void 0:w.finalGroup)||""),10);if(Number.isFinite(b)&&b>0)return`F${b}`;const P=Ne((w==null?void 0:w.groupCode)||"");return P?`G${P}`:"U"}function c(w){return w==="U"?`${t.t("labels.group")} ${t.t("labels.unassigned")}`:w.startsWith("B")?`${t.t("labels.group")} ${w.slice(1)}`:w.startsWith("F")?`${t.t("labels.group")} ${w.slice(1)}`:w.startsWith("G")?`${t.t("labels.group")} ${w.slice(1)}`:`${t.t("labels.group")} ${w}`}function s(w){if(w==="U")return 9999;if(w.startsWith("B")){const I=w.slice(1),b=Number.parseInt(I,10);if(Number.isFinite(b)&&b>0)return b;const P=String(I).toUpperCase();return P==="A"?1:P==="B"?2:P==="C"?3:P==="D"?4:5e3}if(w.startsWith("F"))return Number.parseInt(w.slice(1),10)||9998;if(w.startsWith("G")){const I=String(w.slice(1)).toUpperCase();if(I==="A")return 1;if(I==="B")return 2;if(I==="C")return 3;if(I==="D")return 4}return 5e3}function f(w){return w!=null&&w._boardGroupKey?w._boardGroupKey:w.finalGroup===1||w.finalGroup===2?w.finalGroup:w.groupCode||t.t("labels.unassigned")}function C(w,I){return w.startsWith("B")?bi(w):yi(I)}function m(w,I){var b;return(b=I==null?void 0:I.key)!=null&&b.startsWith("B")&&(I!=null&&I.style)?I.style:yi(w)}function g(w){return!!n.value[w]}function S(w){n.value[w]=!n.value[w]}function k(w){var b;const I=Number(t.overflowLimit||0);return!Number.isFinite(I)||I<=0?!1:Number(((b=w==null?void 0:w.rows)==null?void 0:b.length)||0)>I}function O(w,I){if(!(String(t.highlightStage||"").trim().toLowerCase()===String(w||"").trim().toLowerCase()))return!1;const P=String(t.highlightGroup||"").trim().toUpperCase();return P?T(I)===P:!0}function T(w){const I=String((w==null?void 0:w.key)||"").trim();return I?I==="U"?"UNASSIGNED":I.startsWith("B")||I.startsWith("F")||I.startsWith("G")||I.startsWith("T")?String(I.slice(1)).trim().toUpperCase():I.toUpperCase():""}return(w,I)=>(v(),y("div",null,[e.showFilter?(v(),y("div",Bb,[i("input",{class:"name-input",value:e.filterText,placeholder:e.t("actions.searchPlayer"),onInput:I[0]||(I[0]=b=>w.$emit("update:filter",b.target.value))},null,40,Lb)])):G("",!0),(v(!0),y(_,null,de(r.value,b=>(v(),y("div",{key:"multi-section-"+b.key,class:le(["score-section-block",{"score-section-overflow":k(b)}]),style:Bt(b.style)},[i("button",{class:"score-section-toggle",type:"button",onClick:P=>S(b.key)},[i("span",Db,a(b.label),1),i("span",Ub,a(b.rows.length)+" • "+a(g(b.key)?"+":"−"),1)],8,qb),k(b)?(v(),y("div",Vb,a(b.label)+" > "+a(e.overflowLimit),1)):G("",!0),g(b.key)?G("",!0):(v(),y(_,{key:1},[i("div",jb,[i("table",Kb,[i("thead",null,[i("tr",null,[I[1]||(I[1]=i("th",null,"#",-1)),i("th",null,a(e.t("table.competitor")),1),e.showGroup?(v(),y("th",Hb,a(e.t("table.group")),1)):G("",!0),e.showRank?(v(),y("th",Wb,a(e.t("table.rank")),1)):G("",!0),e.showSeed?(v(),y("th",zb,a(e.t("table.seed")),1)):G("",!0),(v(!0),y(_,null,de(e.roundStages,P=>(v(),y("th",{key:"head-"+P.stage,class:le({"stage-column-highlight":O(P.stage,b)})},a(P.label),3))),128)),i("th",null,a(e.t("table.total")),1),e.showProofControls?(v(),y("th",Yb,a(e.t("table.verification")),1)):G("",!0)])]),i("tbody",null,[(v(!0),y(_,null,de(b.rows,(P,M)=>(v(),y("tr",{key:"multi-row-"+b.key+"-"+P.playerId,class:"score-group-row",style:Bt(m(P,b))},[i("td",Xb,a(M+1),1),i("td",null,[i("div",Jb,[i("img",{src:e.playerImage(P),alt:P.nameAr,class:"competitor-image"},null,8,Zb),i("div",null,[i("p",Qb,a(e.displayName(P)),1),i("p",_b,a(e.secondaryName(P)),1)])])]),e.showGroup?(v(),y("td",e1,a(f(P)),1)):G("",!0),e.showRank?(v(),y("td",t1,a(P.rank),1)):G("",!0),e.showSeed?(v(),y("td",n1,a(P.seed),1)):G("",!0),(v(!0),y(_,null,de(e.roundStages,B=>(v(),y("td",{key:"cell-"+B.stage+"-"+P.playerId,class:le(["multi-round-cell",{"stage-column-highlight":O(B.stage,b)}])},[i("input",{class:le(["score-input score-input-compact",{"score-input-over-limit":e.scoreInputInvalid(B.stage,P.playerId),"score-input-stage-highlight":O(B.stage,b)}]),type:"number",inputmode:"numeric",pattern:"[0-9]*",min:"0",max:"100",value:e.scoreInputValue(B.stage,P.playerId),onFocus:U=>e.onScoreFocus(B.stage,P.playerId),onInput:U=>e.onScoreInput(B.stage,P.playerId,U),onBlur:U=>e.onScoreCommit(B.stage,P.playerId),onKeydown:Dn(ht(U=>e.onScoreCommit(B.stage,P.playerId),["prevent"]),["enter"])},null,42,i1)],2))),128)),i("td",o1,a(e.totalScore(P.playerId)),1),e.showProofControls?(v(),y("td",r1,[i("div",s1,[(v(!0),y(_,null,de(e.roundStages,B=>(v(),y("div",{key:"verify-"+B.stage+"-"+P.playerId,class:"verify-round-item"},[i("span",l1,a(B.label),1),i("button",{class:"btn btn-outline btn-xs",onClick:U=>e.openScoreProofUploader(B.stage,P.playerId)},a(e.hasScoreProof(B.stage,P.playerId)?e.t("actions.replaceProof"):e.t("actions.uploadProof")),9,a1),e.hasScoreProof(B.stage,P.playerId)?(v(),y("img",{key:0,class:"proof-thumb",src:e.scoreProofFor(B.stage,P.playerId),alt:e.t("table.verification"),onClick:U=>e.openProofPreview(B.stage,P.playerId)},null,8,u1)):G("",!0)]))),128))])])):G("",!0)],4))),128))])])]),i("div",c1,[(v(!0),y(_,null,de(b.rows,(P,M)=>(v(),y("article",{key:"multi-mobile-"+b.key+"-"+P.playerId,class:"score-card score-group-card",style:Bt(m(P,b))},[i("div",d1,[i("div",f1,[i("img",{src:e.playerImage(P),alt:P.nameAr,class:"competitor-image"},null,8,m1),i("div",null,[i("p",g1,a(e.displayName(P)),1),i("p",p1,a(e.secondaryName(P)),1)])]),i("div",h1,"#"+a(M+1),1)]),i("div",v1,[e.showGroup?(v(),y("span",y1,a(e.t("table.group"))+": "+a(f(P)),1)):G("",!0),e.showRank?(v(),y("span",b1,a(e.t("table.rank"))+": "+a(P.rank),1)):G("",!0),e.showSeed?(v(),y("span",S1,a(e.t("table.seed"))+": "+a(P.seed),1)):G("",!0)]),i("div",$1,[(v(!0),y(_,null,de(e.roundStages,B=>(v(),y("label",{key:"mobile-round-"+B.stage+"-"+P.playerId,class:le(["mobile-round-item",{"stage-column-highlight":O(B.stage,b)}])},[i("span",w1,a(B.label),1),i("input",{class:le(["score-input",{"score-input-over-limit":e.scoreInputInvalid(B.stage,P.playerId),"score-input-stage-highlight":O(B.stage,b)}]),type:"number",inputmode:"numeric",pattern:"[0-9]*",min:"0",max:"100",value:e.scoreInputValue(B.stage,P.playerId),onFocus:U=>e.onScoreFocus(B.stage,P.playerId),onInput:U=>e.onScoreInput(B.stage,P.playerId,U),onBlur:U=>e.onScoreCommit(B.stage,P.playerId),onKeydown:Dn(ht(U=>e.onScoreCommit(B.stage,P.playerId),["prevent"]),["enter"])},null,42,C1)],2))),128))]),i("div",k1,[i("span",I1,a(e.t("table.total")),1),i("strong",P1,a(e.totalScore(P.playerId)),1)]),e.showProofControls?(v(),y("div",T1,[i("p",F1,a(e.t("table.verification")),1),i("div",A1,[(v(!0),y(_,null,de(e.roundStages,B=>(v(),y("div",{key:"mobile-verify-"+B.stage+"-"+P.playerId,class:"verify-round-item"},[i("span",N1,a(B.label),1),i("button",{class:"btn btn-outline btn-xs",onClick:U=>e.openScoreProofUploader(B.stage,P.playerId)},a(e.hasScoreProof(B.stage,P.playerId)?e.t("actions.replaceProof"):e.t("actions.uploadProof")),9,E1),e.hasScoreProof(B.stage,P.playerId)?(v(),y("img",{key:0,class:"proof-thumb",src:e.scoreProofFor(B.stage,P.playerId),alt:e.t("table.verification"),onClick:U=>e.openProofPreview(B.stage,P.playerId)},null,8,R1)):G("",!0)]))),128))])])):G("",!0)],4))),128))])],64))],6))),128)),r.value.length===0?(v(),y("div",M1,a(e.t("labels.noPlayers")),1)):G("",!0)]))}},x1={class:"position-board"},G1={class:"position-board-head"},O1={class:"position-board-title"},B1={class:"position-board-meta"},L1={key:0,class:"position-board-alert"},q1={key:0,class:"position-board-grid"},D1={class:"position-column-head"},U1={class:"position-column-toggle"},V1={class:"position-column-title"},j1={key:0,class:"position-column-alert"},K1=["onDrop"],H1=["onDragstart","onDrop"],W1={class:"position-badge"},z1=["src","alt"],Y1={class:"position-card-text"},X1={class:"name-main"},J1={class:"name-sub"},Z1={key:0,class:"position-score"},Q1=["onDrop"],_1={key:1,class:"position-actions"},ii={__name:"PositionBoardEditor",props:{t:{type:Function,required:!0},board:{type:String,required:!0},rows:{type:Array,required:!0},slots:{type:Object,default:()=>({})},playerImage:{type:Function,required:!0},displayName:{type:Function,required:!0},secondaryName:{type:Function,required:!0},groupLabelPrefix:{type:String,default:""},numericGroups:{type:Boolean,default:!1},availableGroups:{type:Array,default:()=>[]}},emits:["save"],setup(e,{emit:t}){const n=e,o=t,r=ve([]),l=ve(null),c=ve(!1),s=L(()=>n.numericGroups),f=L(()=>n.board==="preliminary"||n.board==="final"||n.board==="prelim_tiebreak"||n.board==="final_tiebreak"),C=L(()=>f.value&&r.value.some(U=>{var W;return Number(((W=U==null?void 0:U.items)==null?void 0:W.length)||0)>6}));Ue(()=>`${n.board}|${n.rows.map(U=>U.playerId).join("|")}|${JSON.stringify(n.slots||{})}`,()=>{m()},{immediate:!0});function m(){const U=(n.rows||[]).map((J,ne)=>{var re,ye;const q=((re=n.slots)==null?void 0:re[String(J.playerId)])||((ye=n.slots)==null?void 0:ye[J.playerId])||null;return{...J,slotGroup:g(q==null?void 0:q.groupKey,J),slotPosition:S(q==null?void 0:q.position,ne+1)}}),W=new Map;for(const J of U)W.has(J.slotGroup)||W.set(J.slotGroup,[]),W.get(J.slotGroup).push(J);const Z=[...W.keys()].sort(k);if(!s.value){for(const J of n.availableGroups||[]){const ne=String(J||"").trim().toUpperCase();ne&&(Z.includes(ne)||Z.push(ne))}Z.sort(k)}let V=Z.map(J=>{const ne=W.get(J).slice().sort((q,re)=>q.slotPosition!==re.slotPosition?q.slotPosition-re.slotPosition:q.playerId-re.playerId);return{key:J,items:ne}});r.value=V}function g(U,W,Z){if(s.value){const J=Number.parseInt(String(U||""),10);if(Number.isFinite(J)&&J>0)return String(J);const ne=Number.parseInt(String((W==null?void 0:W.scoreGroup)||""),10);if(Number.isFinite(ne)&&ne>0)return String(ne);const q=Number.parseInt(String((W==null?void 0:W.finalGroup)||""),10);return Number.isFinite(q)&&q>0?String(q):"1"}return String(U||W.groupCode||"").trim().toUpperCase()||"UNASSIGNED"}function S(U,W){const Z=Number(U);return Number.isFinite(Z)&&Z>0?Math.floor(Z):W}function k(U,W){return s.value?Number(U)-Number(W):U==="UNASSIGNED"?1:W==="UNASSIGNED"?-1:U.localeCompare(W)}function O(U){return s.value?`${n.t("labels.group")} ${U}`:U==="UNASSIGNED"?n.t("labels.unassigned"):`${n.groupLabelPrefix||n.t("labels.group")} ${U}`}function T(U){return n.board==="preliminary"?`${n.t("table.total")}: ${Number(U.score||0)}`:n.board==="final"?`${n.t("table.total")}: ${Number(U.score||0)}`:`${n.t("table.tieScore")}: ${Number(U.tieBreak||0)}`}function w(U,W,Z,V){l.value={groupKey:W,index:Z,playerId:V},U.dataTransfer.effectAllowed="move"}function I(U,W){P(U,W)}function b(U){const W=r.value.find(V=>V.key===U),Z=W?W.items.length:0;P(U,Z)}function P(U,W){const Z=l.value;if(!Z)return;const V=r.value.find(ye=>ye.key===Z.groupKey),J=r.value.find(ye=>ye.key===U);if(!V||!J){l.value=null;return}const ne=V.items.findIndex(ye=>ye.playerId===Z.playerId);if(ne<0){l.value=null;return}const[q]=V.items.splice(ne,1);let re=W;V.key===J.key&&neJ.items.length&&(re=J.items.length),J.items.splice(re,0,q),l.value=null,M()}function M(){const U=[];for(const W of r.value)W.items.forEach((Z,V)=>{U.push({playerId:Z.playerId,groupKey:W.key,position:V+1})});o("save",{board:n.board,slots:U})}function B(){if(!s.value)return;const U=r.value.map(Z=>Number(Z.key)).filter(Z=>Number.isFinite(Z)&&Z>0),W=U.length>0?Math.max(...U)+1:1;r.value=[...r.value,{key:String(W),items:[]}]}return(U,W)=>(v(),y("div",x1,[i("div",G1,[i("button",{class:"position-board-toggle",type:"button",onClick:W[0]||(W[0]=Z=>c.value=!c.value)},[i("span",O1,a(e.t("labels.groupAssignment")),1),i("span",B1,a(r.value.length)+" • "+a(c.value?"+":"−"),1)]),C.value?(v(),y("div",L1,a(e.t("labels.group"))+" > 6",1)):G("",!0)]),c.value?G("",!0):(v(),y("div",q1,[(v(!0),y(_,null,de(r.value,Z=>(v(),y("section",{key:e.board+"-col-"+Z.key,class:le(["position-column",{"position-column-overflow":f.value&&Z.items.length>6}])},[i("header",D1,[i("div",U1,[i("span",V1,a(O(Z.key)),1),i("span",{class:le(["position-column-count",{danger:f.value&&Z.items.length>6}])},a(Z.items.length),3)]),f.value&&Z.items.length>6?(v(),y("div",j1,a(e.t("labels.group"))+" "+a(Z.key)+" > 6 ",1)):G("",!0)]),i("div",{class:"position-column-list",onDragover:W[3]||(W[3]=ht(()=>{},["prevent"])),onDrop:V=>b(Z.key)},[(v(!0),y(_,null,de(Z.items,(V,J)=>(v(),y("article",{key:e.board+"-card-"+V.playerId,class:"position-card",draggable:"true",onDragstart:ne=>w(ne,Z.key,J,V.playerId),onDragover:W[1]||(W[1]=ht(()=>{},["prevent"])),onDrop:ne=>I(Z.key,J)},[i("div",W1,a(J+1),1),i("img",{src:e.playerImage(V),alt:V.nameAr,class:"position-avatar"},null,8,z1),i("div",Y1,[i("p",X1,a(e.displayName(V)),1),i("p",J1,a(e.secondaryName(V)),1),T(V)?(v(),y("p",Z1,a(T(V)),1)):G("",!0)])],40,H1))),128)),Z.items.length===0?(v(),y("div",{key:0,class:"position-empty",onDragover:W[2]||(W[2]=ht(()=>{},["prevent"])),onDrop:V=>b(Z.key)},a(e.t("labels.noPlayers")),41,Q1)):G("",!0)],40,K1)],2))),128))])),s.value?(v(),y("div",_1,[i("button",{class:"btn btn-outline btn-xs",onClick:B},"+ "+a(e.t("labels.group")),1)])):G("",!0)]))}},eS={class:"panel admin-head-panel"},tS={class:"admin-head"},nS={class:"muted"},iS={class:"panel-actions"},oS={class:"admin-settings-row"},rS={class:"switch-row"},sS=["checked"],lS={class:"tab-bar admin-tab-bar"},aS=["onClick"],uS={class:"panel"},cS={class:"panel-heading"},dS={class:"panel"},fS={class:"panel-heading"},mS={class:"panel-actions"},gS={class:"stage-filter-bar"},pS=["value","placeholder"],hS={class:"panel"},vS={class:"panel-heading"},yS={key:0,class:"hint-box"},bS={key:1,class:"hint-box danger"},SS={key:2,class:"empty-state good"},$S={class:"panel-actions"},wS={class:"panel"},CS={class:"panel-heading"},kS={class:"panel-actions"},IS={class:"stage-filter-bar"},PS=["value","placeholder"],TS={class:"panel"},FS={class:"panel-heading"},AS={key:0,class:"hint-box danger"},NS={key:1,class:"empty-state good"},ES={class:"panel-actions"},RS={class:"sub-heading mt-32"},MS={class:"table-wrap"},xS={class:"score-table"},GS={class:"mono rank"},OS={class:"competitor-cell compact"},BS=["src","alt"],LS={class:"name-main"},qS={class:"name-sub"},DS={class:"mono strong"},US={class:"mono"},VS={key:0},jS={key:1},KS={key:2},HS={key:3,class:"muted"},WS={key:0},zS={colspan:"5",class:"muted center"},YS={__name:"AdminPanel",props:{t:{type:Function,required:!0},adminTabs:{type:Array,required:!0},adminTab:{type:String,required:!0},viewProofInView:{type:Boolean,default:!1},liveSettings:{type:Object,required:!0},stageControl:{type:Object,required:!0},stageOptions:{type:Object,required:!0},currentStage:{type:Object,default:null},lastStage:{type:Object,default:null},activeScoringStage:{type:String,default:""},activeScoringGroup:{type:String,default:""},groupSetupInput:{type:String,default:""},adminGroupCards:{type:Array,required:!0},newPlayer:{type:Object,required:!0},assignableGroups:{type:Array,required:!0},playersSorted:{type:Array,required:!0},playerFilter:{type:String,default:""},playerSort:{type:String,default:"id"},playerImage:{type:Function,required:!0},groupOptionLabel:{type:Function,required:!0},normalizedGroupCode:{type:Function,required:!0},preliminaryScoreRows:{type:Array,required:!0},prelimTieScoreRows:{type:Array,required:!0},finalScoreRows:{type:Array,required:!0},finalTieScoreRows:{type:Array,required:!0},finalRows:{type:Array,required:!0},preliminaryTotalScore:{type:Function,required:!0},finalTotalScore:{type:Function,required:!0},prelimTie:{type:Object,required:!0},finalTie:{type:Object,required:!0},positionBoards:{type:Object,required:!0},scoreFilters:{type:Object,required:!0},displayName:{type:Function,required:!0},secondaryName:{type:Function,required:!0},scoreInputValue:{type:Function,required:!0},scoreInputInvalid:{type:Function,required:!0},onScoreFocus:{type:Function,required:!0},onScoreInput:{type:Function,required:!0},onScoreCommit:{type:Function,required:!0},hasScoreProof:{type:Function,required:!0},scoreProofFor:{type:Function,required:!0},openScoreProofUploader:{type:Function,required:!0},removeScoreProof:{type:Function,required:!0},openProofPreview:{type:Function,required:!0},requestScoreAdvice:{type:Function,required:!0}},emits:["refresh","logout","toggle-view-proof","update-live-setting","update-stage-control","start-stage","end-stage","navigate-current-stage","change-admin-tab","update:group-setup-input","save-group-setup","auto-group-even","update:new-player","create-player","convert-new-name","update:player-filter","update:player-sort","open-image-uploader","update-player-field","update-player-group","convert-row-name","remove-player-image","delete-player","request-reset-stage","reset-final-group-by-seed","save-position-board","update-score-filter"],setup(e){return(t,n)=>(v(),y("div",null,[i("section",eS,[i("div",tS,[i("div",null,[i("h2",null,a(e.t("adminPanel")),1),i("p",nS,a(e.t("adminPanelDesc")),1)]),i("div",iS,[i("button",{class:"btn btn-secondary",onClick:n[0]||(n[0]=o=>t.$emit("refresh"))},a(e.t("actions.refresh")),1),i("button",{class:"btn btn-danger",onClick:n[1]||(n[1]=o=>t.$emit("logout"))},a(e.t("actions.logout")),1)])]),i("div",oS,[i("label",rS,[i("input",{type:"checkbox",checked:e.viewProofInView,onChange:n[2]||(n[2]=o=>t.$emit("toggle-view-proof",o.target.checked))},null,40,sS),i("span",null,a(e.t("labels.viewProofInView")),1)])])]),i("nav",lS,[(v(!0),y(_,null,de(e.adminTabs,o=>(v(),y("button",{key:o.id,class:le(["tab-btn",{active:e.adminTab===o.id}]),onClick:r=>t.$emit("change-admin-tab",o.id)},a(o.label),11,aS))),128))]),ft(me(Nv,{t:e.t,"group-setup-input":e.groupSetupInput,"admin-group-cards":e.adminGroupCards,"new-player":e.newPlayer,"assignable-groups":e.assignableGroups,"players-sorted":e.playersSorted,"player-filter":e.playerFilter,"player-sort":e.playerSort,"player-image":e.playerImage,"group-option-label":e.groupOptionLabel,"normalized-group-code":e.normalizedGroupCode,"onUpdate:groupSetupInput":n[3]||(n[3]=o=>t.$emit("update:group-setup-input",o)),onSaveGroupSetup:n[4]||(n[4]=o=>t.$emit("save-group-setup")),onAutoGroupEven:n[5]||(n[5]=o=>t.$emit("auto-group-even")),"onUpdate:newPlayer":n[6]||(n[6]=o=>t.$emit("update:new-player",o)),onCreatePlayer:n[7]||(n[7]=o=>t.$emit("create-player")),onConvertNewName:n[8]||(n[8]=o=>t.$emit("convert-new-name",o)),"onUpdate:playerFilter":n[9]||(n[9]=o=>t.$emit("update:player-filter",o)),"onUpdate:playerSort":n[10]||(n[10]=o=>t.$emit("update:player-sort",o)),onOpenImageUploader:n[11]||(n[11]=o=>t.$emit("open-image-uploader",o)),onUpdatePlayerField:n[12]||(n[12]=o=>t.$emit("update-player-field",o)),onUpdatePlayerGroup:n[13]||(n[13]=o=>t.$emit("update-player-group",o)),onConvertRowName:n[14]||(n[14]=o=>t.$emit("convert-row-name",o)),onRemovePlayerImage:n[15]||(n[15]=o=>t.$emit("remove-player-image",o)),onDeletePlayer:n[16]||(n[16]=o=>t.$emit("delete-player",o))},null,8,["t","group-setup-input","admin-group-cards","new-player","assignable-groups","players-sorted","player-filter","player-sort","player-image","group-option-label","normalized-group-code"]),[[mt,e.adminTab==="players"]]),ft(i("section",uS,[i("div",cS,[i("h2",null,a(e.t("liveMode")),1),i("p",null,a(e.t("labels.liveModeVisibility")),1)]),me(Ob,{t:e.t,"live-settings":e.liveSettings,"assignable-groups":e.assignableGroups,"stage-control":e.stageControl,"stage-options":e.stageOptions,"current-stage":e.currentStage,"last-stage":e.lastStage,onUpdateLiveSetting:n[17]||(n[17]=o=>t.$emit("update-live-setting",o)),onUpdateStageControl:n[18]||(n[18]=o=>t.$emit("update-stage-control",o)),onStartStage:n[19]||(n[19]=o=>t.$emit("start-stage")),onEndStage:n[20]||(n[20]=o=>t.$emit("end-stage")),onNavigateCurrentStage:n[21]||(n[21]=o=>t.$emit("navigate-current-stage"))},null,8,["t","live-settings","assignable-groups","stage-control","stage-options","current-stage","last-stage"])],512),[[mt,e.adminTab==="liveMode"]]),ft(i("section",dS,[i("div",fS,[i("h2",null,a(e.t("sections.preliminaryAdminTitle")),1),i("p",null,a(e.t("sections.preliminaryAdminSubtitle")),1)]),i("div",mS,[i("button",{class:"btn btn-outline",onClick:n[22]||(n[22]=o=>t.$emit("request-reset-stage","preliminary"))},a(e.t("actions.resetScores")),1)]),i("div",gS,[i("input",{class:"name-input",value:e.scoreFilters.preliminary,placeholder:e.t("actions.searchPlayer"),onInput:n[23]||(n[23]=o=>t.$emit("update-score-filter",{stage:"preliminary",value:o.target.value}))},null,40,pS)]),me(ii,{t:e.t,board:"preliminary",rows:e.preliminaryScoreRows,slots:e.positionBoards.preliminary,"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"available-groups":e.assignableGroups,onSave:n[24]||(n[24]=o=>t.$emit("save-position-board",o))},null,8,["t","rows","slots","player-image","display-name","secondary-name","available-groups"]),me(jr,{t:e.t,rows:e.preliminaryScoreRows,"round-stages":[{stage:"prelim_r1",label:e.t("table.round1")},{stage:"prelim_r2",label:e.t("table.round2")},{stage:"prelim_r3",label:e.t("table.round3")}],"total-score":e.preliminaryTotalScore,"show-filter":!1,"filter-text":e.scoreFilters.preliminary,"section-by-group":!0,"overflow-limit":6,"highlight-stage":e.activeScoringStage,"highlight-group":e.activeScoringGroup,"show-group":!0,"show-rank":!1,"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"score-input-value":e.scoreInputValue,"score-input-invalid":e.scoreInputInvalid,"on-score-focus":e.onScoreFocus,"on-score-input":e.onScoreInput,"on-score-commit":e.onScoreCommit,"has-score-proof":e.hasScoreProof,"score-proof-for":e.scoreProofFor,"open-score-proof-uploader":e.openScoreProofUploader,"open-proof-preview":e.openProofPreview,"show-proof-controls":!1},null,8,["t","rows","round-stages","total-score","filter-text","highlight-stage","highlight-group","player-image","display-name","secondary-name","score-input-value","score-input-invalid","on-score-focus","on-score-input","on-score-commit","has-score-proof","score-proof-for","open-score-proof-uploader","open-proof-preview"])],512),[[mt,e.adminTab==="preliminary"]]),ft(i("section",hS,[i("div",vS,[i("h2",null,a(e.t("sections.prelimTieTitle")),1),i("p",null,a(e.t("sections.prelimTieSubtitle")),1)]),e.prelimTie.required?(v(),y("div",yS,a(e.t("labels.tieSlots"))+": "+a(e.prelimTie.slots),1)):G("",!0),e.prelimTie.required&&!e.prelimTie.resolved?(v(),y("div",bS,a(e.t("messages.prelimTieUnresolved")),1)):G("",!0),e.prelimTie.required?G("",!0):(v(),y("div",SS,a(e.t("messages.noPrelimTie")),1)),e.prelimTie.required?(v(),y(_,{key:3},[i("div",$S,[i("button",{class:"btn btn-outline",onClick:n[25]||(n[25]=o=>t.$emit("request-reset-stage","prelim_tiebreak"))},a(e.t("actions.resetScores")),1)]),me(ii,{t:e.t,board:"prelim_tiebreak",rows:e.prelimTieScoreRows,slots:e.positionBoards.prelim_tiebreak,"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"numeric-groups":!0,onSave:n[26]||(n[26]=o=>t.$emit("save-position-board",o))},null,8,["t","rows","slots","player-image","display-name","secondary-name"]),me(Vr,{t:e.t,stage:"prelim_tiebreak","color-mode":"score",rows:e.prelimTieScoreRows,"filter-text":e.scoreFilters.prelim_tiebreak,"section-by-group":!0,"tie-break-section-mode":!0,"show-score-before-input":!0,"input-label":e.t("table.tieScore"),"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"score-input-value":e.scoreInputValue,"score-input-invalid":e.scoreInputInvalid,"on-score-focus":e.onScoreFocus,"on-score-input":e.onScoreInput,"on-score-commit":e.onScoreCommit,"has-score-proof":e.hasScoreProof,"score-proof-for":e.scoreProofFor,"open-score-proof-uploader":e.openScoreProofUploader,"remove-score-proof":e.removeScoreProof,"open-proof-preview":e.openProofPreview,"request-score-advice":e.requestScoreAdvice,"highlight-stage":e.activeScoringStage,"highlight-group":e.activeScoringGroup,"show-proof-controls":!1,"onUpdate:filter":n[27]||(n[27]=o=>t.$emit("update-score-filter",{stage:"prelim_tiebreak",value:o}))},null,8,["t","rows","filter-text","input-label","player-image","display-name","secondary-name","score-input-value","score-input-invalid","on-score-focus","on-score-input","on-score-commit","has-score-proof","score-proof-for","open-score-proof-uploader","remove-score-proof","open-proof-preview","request-score-advice","highlight-stage","highlight-group"])],64)):G("",!0)],512),[[mt,e.adminTab==="prelimTie"]]),ft(i("section",wS,[i("div",CS,[i("h2",null,a(e.t("sections.finalAdminTitle")),1),i("p",null,a(e.t("sections.finalAdminSubtitle")),1)]),i("div",kS,[i("button",{class:"btn btn-outline",onClick:n[28]||(n[28]=o=>t.$emit("request-reset-stage","final"))},a(e.t("actions.resetScores")),1),i("button",{class:"btn btn-outline",onClick:n[29]||(n[29]=o=>t.$emit("reset-final-group-by-seed"))},a(e.t("actions.resetFinalGroupBySeed")),1)]),i("div",IS,[i("input",{class:"name-input",value:e.scoreFilters.final_common,placeholder:e.t("actions.searchPlayer"),onInput:n[30]||(n[30]=o=>t.$emit("update-score-filter",{stage:"final_common",value:o.target.value}))},null,40,PS)]),me(ii,{t:e.t,board:"final",rows:e.finalScoreRows,slots:e.positionBoards.final,"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"numeric-groups":!0,onSave:n[31]||(n[31]=o=>t.$emit("save-position-board",o))},null,8,["t","rows","slots","player-image","display-name","secondary-name"]),me(jr,{t:e.t,rows:e.finalScoreRows,"round-stages":[{stage:"final_r1",label:e.t("table.round1")},{stage:"final_r2",label:e.t("table.round2")}],"total-score":e.finalTotalScore,"show-filter":!1,"filter-text":e.scoreFilters.final_common,"section-by-group":!0,"overflow-limit":6,"highlight-stage":e.activeScoringStage,"highlight-group":e.activeScoringGroup,"show-group":!0,"show-seed":!0,"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"score-input-value":e.scoreInputValue,"score-input-invalid":e.scoreInputInvalid,"on-score-focus":e.onScoreFocus,"on-score-input":e.onScoreInput,"on-score-commit":e.onScoreCommit,"has-score-proof":e.hasScoreProof,"score-proof-for":e.scoreProofFor,"open-score-proof-uploader":e.openScoreProofUploader,"open-proof-preview":e.openProofPreview,"show-proof-controls":!1},null,8,["t","rows","round-stages","total-score","filter-text","highlight-stage","highlight-group","player-image","display-name","secondary-name","score-input-value","score-input-invalid","on-score-focus","on-score-input","on-score-commit","has-score-proof","score-proof-for","open-score-proof-uploader","open-proof-preview"])],512),[[mt,e.adminTab==="final"]]),ft(i("section",TS,[i("div",FS,[i("h2",null,a(e.t("sections.finalTieTitle")),1),i("p",null,a(e.t("sections.finalTieSubtitle")),1)]),e.finalTie.required&&!e.finalTie.resolved?(v(),y("div",AS,a(e.t("messages.finalTieUnresolved")),1)):G("",!0),e.finalTie.required?G("",!0):(v(),y("div",NS,a(e.t("messages.noFinalTie")),1)),i("div",ES,[i("button",{class:"btn btn-outline",onClick:n[32]||(n[32]=o=>t.$emit("request-reset-stage","final_tiebreak"))},a(e.t("actions.resetScores")),1)]),e.finalTie.required?(v(),y(_,{key:2},[me(ii,{t:e.t,board:"final_tiebreak",rows:e.finalTieScoreRows,slots:e.positionBoards.final_tiebreak,"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"numeric-groups":!0,onSave:n[33]||(n[33]=o=>t.$emit("save-position-board",o))},null,8,["t","rows","slots","player-image","display-name","secondary-name"]),me(Vr,{t:e.t,stage:"final_tiebreak","color-mode":"score",rows:e.finalTieScoreRows,"filter-text":e.scoreFilters.final_tiebreak,"section-by-group":!0,"tie-break-section-mode":!0,"show-score-before-input":!0,"input-label":e.t("table.tieScore"),"player-image":e.playerImage,"display-name":e.displayName,"secondary-name":e.secondaryName,"score-input-value":e.scoreInputValue,"score-input-invalid":e.scoreInputInvalid,"on-score-focus":e.onScoreFocus,"on-score-input":e.onScoreInput,"on-score-commit":e.onScoreCommit,"has-score-proof":e.hasScoreProof,"score-proof-for":e.scoreProofFor,"open-score-proof-uploader":e.openScoreProofUploader,"remove-score-proof":e.removeScoreProof,"open-proof-preview":e.openProofPreview,"request-score-advice":e.requestScoreAdvice,"highlight-stage":e.activeScoringStage,"highlight-group":e.activeScoringGroup,"show-proof-controls":!1,"onUpdate:filter":n[34]||(n[34]=o=>t.$emit("update-score-filter",{stage:"final_tiebreak",value:o}))},null,8,["t","rows","filter-text","input-label","player-image","display-name","secondary-name","score-input-value","score-input-invalid","on-score-focus","on-score-input","on-score-commit","has-score-proof","score-proof-for","open-score-proof-uploader","remove-score-proof","open-proof-preview","request-score-advice","highlight-stage","highlight-group"])],64)):G("",!0),i("h3",RS,a(e.t("sections.finalRanking")),1),i("div",MS,[i("table",xS,[i("thead",null,[i("tr",null,[i("th",null,a(e.t("table.rank")),1),i("th",null,a(e.t("table.competitor")),1),i("th",null,a(e.t("table.score")),1),i("th",null,a(e.t("table.tieScore")),1),i("th",null,a(e.t("table.medal")),1)])]),i("tbody",null,[(v(!0),y(_,null,de(e.finalRows,o=>(v(),y("tr",{key:"a-fr-"+o.playerId,class:le({"podium-row":o.rank<=3})},[i("td",GS,a(o.rank),1),i("td",null,[i("div",OS,[i("img",{src:e.playerImage(o),alt:o.nameAr,class:"competitor-image"},null,8,BS),i("div",null,[i("p",LS,a(e.displayName(o)),1),i("p",qS,a(e.secondaryName(o)),1)])])]),i("td",DS,a(o.score),1),i("td",US,a(o.tieBreak),1),i("td",null,[o.rank===1?(v(),y("span",VS,"🥇")):o.rank===2?(v(),y("span",jS,"🥈")):o.rank===3?(v(),y("span",KS,"🥉")):(v(),y("span",HS,"—"))])],2))),128)),e.finalRows.length===0?(v(),y("tr",WS,[i("td",zS,a(e.t("labels.noFinalists")),1)])):G("",!0)])])])],512),[[mt,e.adminTab==="finalTie"]])]))}},XS={class:"modal-card proof-modal-card"},JS={class:"modal-head"},ZS={class:"proof-modal-image-wrap"},QS=["src","alt"],_S={__name:"ProofModal",props:{open:{type:Boolean,default:!1},image:{type:String,default:""},title:{type:String,default:"Proof"}},emits:["close"],setup(e){return(t,n)=>e.open?(v(),y("div",{key:0,class:"modal-overlay",onClick:n[1]||(n[1]=ht(o=>t.$emit("close"),["self"]))},[i("div",XS,[i("div",JS,[i("h3",null,a(e.title),1),i("button",{class:"btn btn-outline btn-xs",onClick:n[0]||(n[0]=o=>t.$emit("close"))},"×")]),i("div",ZS,[i("img",{class:"proof-modal-image",src:e.image,alt:e.title},null,8,QS)])])])):G("",!0)}},e0={class:"modal-card"},t0={class:"modal-title"},n0={class:"modal-text"},i0={class:"modal-actions"},o0={__name:"ResetStageModal",props:{open:{type:Boolean,default:!1},t:{type:Function,required:!0}},emits:["cancel","confirm"],setup(e){return(t,n)=>e.open?(v(),y("div",{key:0,class:"modal-overlay",onClick:n[2]||(n[2]=ht(o=>t.$emit("cancel"),["self"]))},[i("div",e0,[i("h3",t0,a(e.t("actions.resetScores")),1),i("p",n0,a(e.t("messages.confirmReset")),1),i("div",i0,[i("button",{class:"btn btn-outline",onClick:n[0]||(n[0]=o=>t.$emit("confirm",!1))},a(e.t("actions.resetOnlyScores")),1),i("button",{class:"btn btn-secondary",onClick:n[1]||(n[1]=o=>t.$emit("cancel"))},a(e.t("actions.cancel")),1)])])])):G("",!0)}},r0={class:"modal-card image-crop-modal"},s0={class:"modal-head"},l0={class:"modal-text subtle"},a0={class:"crop-canvas-wrap"},u0={class:"crop-controls"},c0=["value"],d0={class:"modal-actions split"},Wt=340,kn=520,f0={__name:"ImageCropModal",props:{open:{type:Boolean,default:!1},sourceImage:{type:String,default:""},t:{type:Function,required:!0}},emits:["close","confirm"],setup(e,{emit:t}){const n=e,o=t,r=ve(null),l=ve(1),c=new Image,s=ze({loaded:!1,width:0,height:0,offsetX:0,offsetY:0,dragging:!1,pointerId:null,lastX:0,lastY:0});Ue(()=>[n.open,n.sourceImage],async([b,P])=>{!b||!P||(await f(P),m(),k())},{immediate:!0}),Ue(l,()=>{S(),k()}),jn(()=>{k()});function f(b){return new Promise((P,M)=>{c.onload=()=>{s.loaded=!0,s.width=c.naturalWidth||c.width,s.height=c.naturalHeight||c.height,P()},c.onerror=()=>M(new Error("failed to load image")),c.src=b})}function C(b){l.value=Number(b.target.value||1)}function m(){l.value=1,s.offsetX=0,s.offsetY=0,k()}function g(b){const M=Math.max(b/s.width,b/s.height)*l.value,B=s.width*M,U=s.height*M,W=(b-B)/2+s.offsetX,Z=(b-U)/2+s.offsetY;return{width:B,height:U,left:W,top:Z}}function S(){if(!s.loaded)return;const{width:b,height:P}=g(Wt),M=Math.max(0,(b-Wt)/2),B=Math.max(0,(P-Wt)/2);s.offsetX>M&&(s.offsetX=M),s.offsetX<-M&&(s.offsetX=-M),s.offsetY>B&&(s.offsetY=B),s.offsetY<-B&&(s.offsetY=-B)}function k(){const b=r.value;if(!b)return;const P=b.getContext("2d");if(!P||(P.clearRect(0,0,Wt,Wt),P.fillStyle="#f0f2f8",P.fillRect(0,0,Wt,Wt),!s.loaded))return;const{width:M,height:B,left:U,top:W}=g(Wt);P.drawImage(c,U,W,M,B)}function O(b){s.loaded&&(s.dragging=!0,s.pointerId=b.pointerId,s.lastX=b.clientX,s.lastY=b.clientY,b.target.setPointerCapture(b.pointerId))}function T(b){if(!s.dragging||s.pointerId!==b.pointerId)return;const P=b.clientX-s.lastX,M=b.clientY-s.lastY;s.lastX=b.clientX,s.lastY=b.clientY,s.offsetX+=P,s.offsetY+=M,S(),k()}function w(b){s.pointerId===b.pointerId&&(s.dragging=!1,s.pointerId=null)}function I(){if(!s.loaded)return;const b=document.createElement("canvas");b.width=kn,b.height=kn;const P=b.getContext("2d");if(!P)return;const{width:M,height:B,left:U,top:W}=g(kn);P.fillStyle="#f0f2f8",P.fillRect(0,0,kn,kn),P.drawImage(c,U,W,M,B),o("confirm",b.toDataURL("image/jpeg",.9))}return(b,P)=>e.open?(v(),y("div",{key:0,class:"modal-overlay",onClick:P[2]||(P[2]=ht(M=>b.$emit("close"),["self"]))},[i("div",r0,[i("div",s0,[i("h3",null,a(e.t("sections.profileCropTitle")),1),i("button",{class:"btn btn-outline btn-xs",onClick:P[0]||(P[0]=M=>b.$emit("close"))},"×")]),i("p",l0,a(e.t("sections.profileCropSubtitle")),1),i("div",a0,[i("canvas",{ref_key:"canvasRef",ref:r,class:"crop-canvas",width:"340",height:"340",onPointerdown:O,onPointermove:T,onPointerup:w,onPointercancel:w},null,544),P[3]||(P[3]=i("div",{class:"crop-circle-guide"},null,-1))]),i("div",u0,[i("label",null,a(e.t("labels.zoom")),1),i("input",{type:"range",min:"1",max:"3",step:"0.01",value:l.value,onInput:C},null,40,c0)]),i("div",d0,[i("button",{class:"btn btn-outline",onClick:m},a(e.t("actions.resetPosition")),1),i("button",{class:"btn btn-secondary",onClick:P[1]||(P[1]=M=>b.$emit("close"))},a(e.t("actions.cancel")),1),i("button",{class:"btn btn-primary",onClick:I},a(e.t("actions.applyCrop")),1)])])])):G("",!0)}},m0={class:"modal-card ai-advice-modal compact"},g0={class:"modal-head"},p0={class:"ai-modal-body compact"},h0={class:"ai-image-wrap"},v0=["src","alt"],y0={class:"ai-info-panel"},b0={key:0,class:"loading-state ai-loading-state"},S0={key:1,class:"hint-box danger"},$0={class:"ai-metric-grid"},w0={class:"ai-metric-card"},C0={class:"ai-label"},k0={class:"ai-value mono"},I0={class:"ai-metric-card highlight"},P0={class:"ai-label"},T0={class:"ai-value mono"},F0={class:"ai-summary"},A0={class:"modal-actions split"},N0=["disabled"],E0=["disabled"],R0={__name:"ScoreAdviceModal",props:{open:{type:Boolean,default:!1},t:{type:Function,required:!0},advice:{type:Object,default:null},currentScore:{type:Number,default:0},image:{type:String,default:""},loading:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["close","refresh","apply"],setup(e){return(t,n)=>e.open?(v(),y("div",{key:0,class:"modal-overlay",onClick:n[4]||(n[4]=ht(o=>t.$emit("close"),["self"]))},[i("div",m0,[i("div",g0,[i("h3",null,a(e.t("sections.aiAdvisorTitle")),1),i("button",{class:"btn btn-outline btn-xs",onClick:n[0]||(n[0]=o=>t.$emit("close"))},"×")]),i("div",p0,[i("div",h0,[e.image?(v(),y("img",{key:0,class:"ai-proof-image",src:e.image,alt:e.t("table.verification")},null,8,v0)):G("",!0)]),i("div",y0,[e.loading?(v(),y("div",b0,[n[5]||(n[5]=i("div",{class:"spinner"},null,-1)),i("p",null,a(e.t("messages.aiAnalyzing")),1)])):e.error?(v(),y("div",S0,a(e.error),1)):e.advice?(v(),y(_,{key:2},[i("div",$0,[i("div",w0,[i("p",C0,a(e.t("labels.currentScore")),1),i("p",k0,a(e.currentScore),1)]),i("div",I0,[i("p",P0,a(e.t("labels.aiSuggestedScore")),1),i("p",T0,a(e.advice.advisedScore),1)])]),i("p",F0,a(e.advice.reason),1)],64)):G("",!0)])]),i("div",A0,[i("button",{class:"btn btn-outline",disabled:e.loading,onClick:n[1]||(n[1]=o=>t.$emit("refresh"))},a(e.t("actions.reAnalyze")),9,N0),i("button",{class:"btn btn-secondary",onClick:n[2]||(n[2]=o=>t.$emit("close"))},a(e.t("actions.cancel")),1),i("button",{class:"btn btn-ai",disabled:e.loading||!e.advice,onClick:n[3]||(n[3]=o=>t.$emit("apply"))},a(e.t("actions.quickApplyAi")),9,E0)])])])):G("",!0)}},M0={ar:{titleFallback:"بطولة دويتوايلر للرماية",subtitle:"فئة المسدس · مسافات: 15م ← 20م ← 25م",viewMode:"وضع العرض",adminMode:"لوحة الإدارة",liveMode:"الوضع الحي",adminLogin:"تسجيل دخول الإدارة",adminLoginDesc:"أدخل بيانات الإدارة للتحكم الكامل في البطولة.",adminPanel:"لوحة التحكم الإدارية",adminPanelDesc:"إدارة اللاعبين، التوزيع، وإدخال النتائج لكل المراحل.",defaultCredentials:"بيانات الإدارة الافتراضية: datwyler / datwyler",labels:{liveTracker:"LIVE TRACKER",mode:"الوضع",language:"اللغة",fullscreen:"ملء الشاشة",lastSync:"آخر مزامنة",loading:"جاري تحميل بيانات البطولة...",players:"لاعب",group:"المجموعة",unassigned:"غير معين",emptyLive:"لا يوجد لاعبين في هذه المجموعة",allPlayers:"جميع اللاعبين",top12:"أفضل 12 متأهل",finalist:"متأهل",tieBreak:"كسر تعادل",notFinalist:"غير متأهل",noPlayers:"لا يوجد لاعبين بعد",noFinalists:"لا يوجد متأهلون بعد",finalGroup1:"المجموعة النهائية 1 (المراكز 1-6)",finalGroup2:"المجموعة النهائية 2 (المراكز 7-12)",finalGroupSeeds1:"المجموعة النهائية (المراكز 1-6)",finalGroupSeeds2:"المجموعة النهائية (المراكز 7-12)",tieSlots:"عدد المقاعد المتاحة من كسر التعادل",waiting:"بانتظار النتيجة",viewProofInView:"إظهار صور إثبات النتيجة في وضع العرض",liveModeVisibility:"إعدادات شاشة الوضع الحي",activeLiveView:"العرض النشط في الوضع الحي",rotationIntervalSec:"مدة التدوير (ثانية)",rotationPlayerCount:"عدد اللاعبين لكل صفحة تدوير",liveViewGroup:"شاشة المجموعات الحية",liveViewPrelimTie:"كسر تعادل التمهيدي",liveViewPrelimOverall:"الترتيب العام للتمهيدي",liveViewFinalGroups:"شاشة مجموعات النهائي",liveViewFinalTie:"كسر تعادل النهائي",liveViewFinalOverall:"الترتيب العام للنهائي",liveViewPodium:"منصة التتويج",showGroupLive:"إظهار شاشة المجموعات الحية",showPrelimTie:"إظهار كسر تعادل التمهيدي",showPrelimOverall:"إظهار ترتيب التمهيدي العام",showFinalGroups:"إظهار مجموعات النهائي",showFinalTie:"إظهار كسر تعادل النهائي",showPodium:"إظهار منصة التتويج",groupDisplayMode:"عرض المجموعات",finalDisplayMode:"عرض مجموعات النهائي",fixedGroup:"مجموعة ثابتة",fixedFinalGroup:"المجموعة النهائية الثابتة",sortBy:"الترتيب",zoom:"التكبير",currentScore:"النتيجة الحالية",aiSuggestedScore:"النتيجة المقترحة",confidence:"مستوى الثقة",stageControl:"المرحلة الحالية",stagePhase:"الطور",stageGroup:"المجموعة",stageRound:"الجولة",currentStage:"المرحلة الجارية",lastStage:"آخر مرحلة",startedAt:"بدأت",endedAt:"انتهت",noCurrentStage:"لا توجد مرحلة جارية",noLastStage:"لا توجد مرحلة سابقة",phasePreliminary:"التمهيدي",phasePrelimTie:"كسر تعادل التمهيدي",phaseFinal:"النهائي",phaseFinalTie:"كسر تعادل النهائي",groupAssignment:"توزيع المجموعات"},sections:{groupsTitle:"عرض اللاعبين والمجموعات",groupsSubtitle:"شاشة نظيفة للمتابعة المباشرة حسب المجموعة.",liveTitle:"العرض الحي للمجموعة",liveSubtitle:"تدوير تلقائي بين المجموعات المسجلة كل 5 ثوان.",overallTitle:"الترتيب العام للمرحلة التمهيدية",overallSubtitle:"يتم تمييز أفضل 12 متأهل للنهائي.",finalTitle:"المرحلة النهائية",finalSubtitle:"تقسيم المتأهلين إلى مجموعتين حسب الترتيب.",finalRanking:"الترتيب النهائي",podiumTitle:"منصة التتويج",podiumSubtitle:"المراكز الثلاثة الأولى بعد فك أي تعادل.",playersTitle:"إدارة اللاعبين",playersSubtitle:"إضافة/تعديل/حذف لاعب، وتعديل الاسم والصورة والمجموعة.",groupsConfigPlaceholder:"المجموعات الأساسية (مثال: A,B,C,D)",preliminaryAdminTitle:"إدخال نتائج المرحلة التمهيدية",preliminaryAdminSubtitle:"إدخال يدوي للنتيجة التمهيدية لكل لاعب.",prelimTieTitle:"إدخال كسر تعادل التأهل (أفضل 12)",prelimTieSubtitle:"يظهر فقط اللاعبين المتعادلين على حد التأهل.",finalAdminTitle:"إدخال نتائج المرحلة النهائية",finalAdminSubtitle:"إدخال نتائج النهائي للمجموعتين.",finalTieTitle:"إدخال كسر تعادل منصة التتويج",finalTieSubtitle:"يظهر فقط عند تعادل المراكز 1-3.",profileCropTitle:"تعديل صورة اللاعب",profileCropSubtitle:"حرّك وكبّر الصورة لتناسب الإطار الدائري قبل الحفظ.",aiAdvisorTitle:"مساعد الذكاء الاصطناعي للنتيجة",liveModeTitle:"شاشة البطولة المباشرة",liveModeSubtitle:"عرض مخصص للشاشات أثناء الفعالية مع تحديث لحظي.",prelimRoundsTitle:"الجولات التمهيدية",finalRoundsTitle:"جولات النهائي"},table:{competitor:"اللاعب",group:"المجموعة",rank:"الترتيب",position:"الموضع",score:"النتيجة",total:"المجموع",round1:"جولة 1",round2:"جولة 2",round3:"جولة 3",tieScore:"نتيجة كسر التعادل",verification:"التحقق",status:"الحالة",seed:"التصنيف",medal:"الميدالية",actions:"الإجراءات",arabicName:"الاسم بالعربية",englishName:"الاسم بالإنجليزية"},actions:{refresh:"تحديث",login:"دخول",logout:"تسجيل خروج",updateGroups:"تحديث المجموعات",liveRotate:"دوران تلقائي",liveFixed:"مجموعة محددة",uploadProof:"رفع إثبات",replaceProof:"استبدال الإثبات",removeProof:"حذف الإثبات",addPlayer:"إضافة لاعب",removeImage:"حذف الصورة",delete:"حذف",resetScores:"تصفير نتائج المرحلة",resetFinalGroupBySeed:"إعادة مجموعات النهائي حسب التصنيف (1-6 / 7-12)",resetOnlyScores:"تصفير النتائج فقط",resetScoresAndProofs:"تصفير النتائج وحذف الإثبات",randomEvenGroups:"توزيع عشوائي متوازن",searchPlayer:"بحث بالاسم العربي أو الإنجليزي",cancel:"إلغاء",convertArToEn:"تحويل عربي → إنجليزي",convertEnToAr:"تحويل إنجليزي → عربي",sortById:"حسب الرقم",sortByArabic:"حسب الاسم العربي",sortByEnglish:"حسب الاسم الإنجليزي",sortByGroup:"حسب المجموعة",aiAdvisor:"اقتراح AI",quickApplyAi:"تطبيق سريع AI",reAnalyze:"إعادة التحليل",applySuggestedScore:"اعتماد النتيجة المقترحة",applyCrop:"تطبيق القص",resetPosition:"إعادة الضبط",liveModeRotate:"تدوير تلقائي",liveModeFixed:"ثابت",enterFullscreen:"دخول ملء الشاشة",exitFullscreen:"الخروج من ملء الشاشة",startStage:"بدء المرحلة",endStage:"إنهاء المرحلة",goToStageScoring:"الانتقال إلى إدخال نتائج المرحلة"},auth:{username:"اسم المستخدم",password:"كلمة المرور"},tabs:{groups:"المجموعات",live:"عرض حي",overall:"الترتيب العام",final:"النهائي",podium:"التتويج",players:"اللاعبون",preliminary:"التمهيدي",prelimTie:"كسر تعادل التأهل",finalTie:"كسر تعادل التتويج",liveModeAdmin:"إعدادات الوضع الحي"},messages:{saved:"تم الحفظ بنجاح.",mustProvideNames:"يرجى إدخال الاسم بالعربية والإنجليزية.",noPrelimTie:"لا يوجد تعادل على حد التأهل.",noFinalTie:"لا يوجد تعادل في المراكز 1-3.",prelimTieUnresolved:"تعادل التأهل غير محسوم. أدخل نتائج كسر التعادل لتحديد أفضل 12.",finalTieUnresolved:"تعادل منصة التتويج غير محسوم. أكمل إدخال كسر التعادل.",confirmDelete:"هل تريد حذف اللاعب؟",confirmReset:"هل تريد تصفير نتائج هذه المرحلة؟",resetProofPrompt:"هل تريد أيضًا حذف صور الإثبات لهذه المرحلة؟",invalidScore:"النتيجة يجب أن تكون من 0 إلى 100.",unauthorized:"انتهت صلاحية جلسة الإدارة. يرجى تسجيل الدخول مرة أخرى.",errorPrefix:"حدث خطأ",noGroupsConfigured:"لا توجد مجموعات أساسية مهيأة.",noNameToConvert:"لا يوجد اسم للتحويل.",aiAnalyzing:"جاري تحليل الصورة بالذكاء الاصطناعي...",noProofForAi:"لا توجد صورة إثبات لتحليلها.",noGroupForPhase:"لا توجد مجموعات متاحة لهذا الطور."}},en:{titleFallback:"Datwyler Shooting Event",subtitle:"Pistol class · Distances: 15m ← 20m ← 25m",viewMode:"View Mode",adminMode:"Admin Panel",liveMode:"Live Mode",adminLogin:"Admin Login",adminLoginDesc:"Enter admin credentials for full tournament control.",adminPanel:"Admin Control Panel",adminPanelDesc:"Manage players, assignments, and scoring for all stages.",defaultCredentials:"Default admin credentials: datwyler / datwyler",labels:{liveTracker:"LIVE TRACKER",mode:"Mode",language:"Language",fullscreen:"Fullscreen",lastSync:"Last sync",loading:"Loading tournament data...",players:"Players",group:"Group",unassigned:"Unassigned",emptyLive:"No players in this group",allPlayers:"All players",top12:"Top 12 finalists",finalist:"Finalist",tieBreak:"Tie-break",notFinalist:"Not finalist",noPlayers:"No players yet",noFinalists:"No finalists yet",finalGroup1:"Final Group 1 (Seeds 1-6)",finalGroup2:"Final Group 2 (Seeds 7-12)",finalGroupSeeds1:"Final Group Seeds 1-6",finalGroupSeeds2:"Final Group Seeds 7-12",tieSlots:"Tie-break slots",waiting:"Waiting",viewProofInView:"Allow proof images in view mode",liveModeVisibility:"Live mode screen controls",activeLiveView:"Active live view",rotationIntervalSec:"Rotation interval (sec)",rotationPlayerCount:"Players per rotation page",liveViewGroup:"Live group board",liveViewPrelimTie:"Preliminary tie-break",liveViewPrelimOverall:"Preliminary overall",liveViewFinalGroups:"Final groups board",liveViewFinalTie:"Final tie-break",liveViewFinalOverall:"Final overall ranking",liveViewPodium:"Podium",showGroupLive:"Show live group board",showPrelimTie:"Show preliminary tie-break",showPrelimOverall:"Show preliminary overall ranking",showFinalGroups:"Show final groups board",showFinalTie:"Show final tie-break",showPodium:"Show podium",groupDisplayMode:"Group board mode",finalDisplayMode:"Final board mode",fixedGroup:"Fixed group",fixedFinalGroup:"Fixed final group",sortBy:"Sort by",zoom:"Zoom",currentScore:"Current score",aiSuggestedScore:"AI suggested score",confidence:"Confidence",stageControl:"Current Stage Control",stagePhase:"Phase",stageGroup:"Group",stageRound:"Round",currentStage:"Current Stage",lastStage:"Last Stage",startedAt:"Started",endedAt:"Ended",noCurrentStage:"No active stage",noLastStage:"No previous stage",phasePreliminary:"Preliminary",phasePrelimTie:"Preliminary Tie-Break",phaseFinal:"Final",phaseFinalTie:"Final Tie-Break",groupAssignment:"Group Assignment"},sections:{groupsTitle:"Players & Groups Overview",groupsSubtitle:"Clean view screen for live grouping.",liveTitle:"Live Group Screen",liveSubtitle:"Automatic rotation through registered groups every 5 seconds.",overallTitle:"Preliminary Overall Ranking",overallSubtitle:"Top 12 finalists are highlighted.",finalTitle:"Final Stage",finalSubtitle:"Finalists are split into two groups by rank.",finalRanking:"Final Ranking",podiumTitle:"Podium",podiumSubtitle:"Top 3 after tie-break resolution.",playersTitle:"Players Management",playersSubtitle:"Add/update/remove players, names, images, and group assignment.",groupsConfigPlaceholder:"Primary groups (example: A,B,C,D)",preliminaryAdminTitle:"Preliminary Scoring",preliminaryAdminSubtitle:"Manually input each player preliminary score.",prelimTieTitle:"Qualification Tie-Break Scoring (Top 12)",prelimTieSubtitle:"Only players tied at qualification cutoff are shown.",finalAdminTitle:"Final Stage Scoring",finalAdminSubtitle:"Input final scores for both final groups.",finalTieTitle:"Podium Tie-Break Scoring",finalTieSubtitle:"Shown only when places 1-3 are tied.",profileCropTitle:"Adjust Player Photo",profileCropSubtitle:"Move and zoom to fit the circular avatar before saving.",aiAdvisorTitle:"AI Score Advisor",liveModeTitle:"Event Live Screen",liveModeSubtitle:"Monitor-ready display with real-time updates.",prelimRoundsTitle:"Preliminary Rounds",finalRoundsTitle:"Final Rounds"},table:{competitor:"Player",group:"Group",rank:"Rank",position:"Position",score:"Score",total:"Total",round1:"Round 1",round2:"Round 2",round3:"Round 3",tieScore:"Tie-Break Score",verification:"Verification",status:"Status",seed:"Seed",medal:"Medal",actions:"Actions",arabicName:"Arabic Name",englishName:"English Name"},actions:{refresh:"Refresh",login:"Login",logout:"Logout",updateGroups:"Update Groups",liveRotate:"Auto Rotation",liveFixed:"Fixed Group",uploadProof:"Upload Proof",replaceProof:"Replace Proof",removeProof:"Remove Proof",addPlayer:"Add Player",removeImage:"Remove Image",delete:"Delete",resetScores:"Reset Stage Scores",resetFinalGroupBySeed:"Reset Final Groups By Seed (1-6 / 7-12)",resetOnlyScores:"Reset scores only",resetScoresAndProofs:"Reset scores and proofs",randomEvenGroups:"Random even grouping",searchPlayer:"Search by Arabic or English name",cancel:"Cancel",convertArToEn:"Convert Arabic → English",convertEnToAr:"Convert English → Arabic",sortById:"By ID",sortByArabic:"By Arabic name",sortByEnglish:"By English name",sortByGroup:"By group",aiAdvisor:"AI Advice",quickApplyAi:"Quick Apply AI",reAnalyze:"Re-analyze",applySuggestedScore:"Apply suggested score",applyCrop:"Apply crop",resetPosition:"Reset position",liveModeRotate:"Auto rotate",liveModeFixed:"Fixed",enterFullscreen:"Enter Fullscreen",exitFullscreen:"Exit Fullscreen",startStage:"Start Stage",endStage:"End Stage",goToStageScoring:"Go To Stage Scoring"},auth:{username:"Username",password:"Password"},tabs:{groups:"Groups",live:"Live",overall:"Overall",final:"Final",podium:"Podium",players:"Players",preliminary:"Preliminary",prelimTie:"Prelim Tie-Break",finalTie:"Final Tie-Break",liveModeAdmin:"Live Mode Settings"},messages:{saved:"Saved successfully.",mustProvideNames:"Arabic and English names are required.",noPrelimTie:"No tie at qualification cutoff.",noFinalTie:"No tie in places 1-3.",prelimTieUnresolved:"Qualification tie is unresolved. Enter tie-break scores to finalize top 12.",finalTieUnresolved:"Podium tie is unresolved. Complete tie-break scoring.",confirmDelete:"Delete this player?",confirmReset:"Reset this stage scores?",resetProofPrompt:"Also remove all proof images for this stage?",invalidScore:"Score must be between 0 and 100.",unauthorized:"Admin session expired. Please login again.",errorPrefix:"Error",noGroupsConfigured:"No primary groups configured.",noNameToConvert:"No name available to convert.",aiAnalyzing:"Analyzing image with AI...",noProofForAi:"No proof image available to analyze.",noGroupForPhase:"No groups available for this phase."}}};function x0(){return{competition:{titleAr:"",titleEn:""},players:[],scores:{prelim_r1:{},prelim_r2:{},prelim_r3:{},prelim_tiebreak:{},final_r1:{},final_r2:{},final_tiebreak:{}},scoreProofs:{},settings:{viewProofInView:!1,liveMode:{activeView:"group_live",showGroupLive:!0,groupDisplayMode:"rotate",groupFixedCode:"",showPrelimTie:!0,showPrelimOverall:!0,showFinalGroups:!0,finalDisplayMode:"rotate",finalFixedGroup:1,showFinalTie:!0,showPodium:!0,rotationIntervalSec:5,rotationPlayerCount:12}},derived:{preliminaryRanking:{rows:[],tieBreak:{required:!1,resolved:!0,slots:0,playerIds:[]}},finalists:[],finalGroups:{group1:[],group2:[]},finalRanking:{rows:[],tieBreak:{required:!1,resolved:!0,slots:0,playerIds:[]}},podium:[]},current_stage:null,last_stage:null,serverTime:""}}const G0=/[\u064B-\u065F\u0670\u0640]/g,Kr={محمد:"Mohammad",احمد:"Ahmad",محمود:"Mahmoud",عبدالرحمن:"Abdulrahman",عبدالله:"Abdullah",عبدالله:"Abdullah",عبدالاله:"Abdulilah",عمر:"Omar",علي:"Ali",خالد:"Khaled",خليل:"Khalil",يزن:"Yazan",يزيد:"Yazeed",معاذ:"Moaz",طارق:"Tareq",زيد:"Zaid",سامر:"Samer",سيف:"Saif",حسام:"Hossam",باسم:"Bassem",امجد:"Amjad",مأمون:"Maamoun",اياد:"Eyad",إياد:"Eyad",حمزة:"Hamza",حمزه:"Hamza",هيثم:"Haitham",وائل:"Wael",رائد:"Raed",فهد:"Fahad",فارس:"Fares",ناصر:"Nasser",جميل:"Jameel"},Hr={mohammad:"محمد",muhammad:"محمد",ahmad:"أحمد",ahmed:"أحمد",mahmoud:"محمود",abdullah:"عبدالله",abdallah:"عبدالله",abdulrahman:"عبدالرحمن",omar:"عمر",ali:"علي",khaled:"خالد",khalil:"خليل",yazan:"يزن",yazeed:"يزيد",moaz:"معاذ",tareq:"طارق",tariq:"طارق",zaid:"زيد",zaidan:"زيدان",samer:"سامر",saif:"سيف",hossam:"حسام",bassem:"باسم",amjad:"أمجد",eyad:"إياد",hamza:"حمزة",haitham:"هيثم",wael:"وائل",raed:"رائد",fahad:"فهد",fares:"فارس",nasser:"ناصر",jameel:"جميل"},O0={ا:"a",أ:"a",إ:"i",آ:"aa",ء:"",ب:"b",ت:"t",ث:"th",ج:"j",ح:"h",خ:"kh",د:"d",ذ:"dh",ر:"r",ز:"z",س:"s",ش:"sh",ص:"s",ض:"d",ط:"t",ظ:"z",ع:"a",غ:"gh",ف:"f",ق:"q",ك:"k",ل:"l",م:"m",ن:"n",ه:"h",و:"w",ي:"y",ى:"a",ة:"a",ئ:"e",ؤ:"o"},B0=[["sh","ش"],["kh","خ"],["gh","غ"],["th","ث"],["dh","ذ"],["ch","تش"],["ph","ف"],["aa","ا"],["ee","ي"],["oo","و"],["ou","و"]],L0={a:"ا",b:"ب",c:"ك",d:"د",e:"ي",f:"ف",g:"ج",h:"ه",i:"ي",j:"ج",k:"ك",l:"ل",m:"م",n:"ن",o:"و",p:"ب",q:"ق",r:"ر",s:"س",t:"ت",u:"و",v:"ف",w:"و",x:"كس",y:"ي",z:"ز"};function q0(e){return String(e||"").replace(G0,"").replace(/[\u0622\u0623\u0625]/g,"ا").replace(/ة/g,"ه").trim()}function D0(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():""}function U0(e){const t=q0(e);if(!t)return"";if(Kr[t])return Kr[t];let n="";for(const o of t)n+=O0[o]??o;return D0(n.replace(/aa+/g,"a"))}function V0(e){const t=String(e||"").trim().toLowerCase();if(!t)return"";if(Hr[t])return Hr[t];let n=t,o="";for(;n.length>0;){let r=!1;for(const[l,c]of B0)if(n.startsWith(l)){o+=c,n=n.slice(l.length),r=!0;break}r||(o+=L0[n[0]]??n[0],n=n.slice(1))}return o}function oi(e,t){const n=String(t||"").split(/\s+/).filter(Boolean);return n.length===0?"":e==="ar_to_en"?n.map(U0).filter(Boolean).join(" "):e==="en_to_ar"?n.map(V0).filter(Boolean).join(" "):String(t||"")}const j0={class:"page-content"},K0={key:0,class:"loading-state"},H0=15e3,W0=1500,z0={__name:"App",setup(e){const t="/api",n=["prelim_r1","prelim_r2","prelim_r3"],o=["final_r1","final_r2"],r=["preliminary","final","prelim_tiebreak","final_tiebreak"],l=ve(!0),c=ve("live"),s=ve("groups"),f=ve("players"),C=ve(localStorage.getItem("shooting_lang")==="en"?"en":"ar"),m=ve(!1),g=ve(x0()),S=ve(Ev(localStorage)),k=ve(localStorage.getItem("shooting_admin_token")||""),O=ze({username:"datwyler",password:"datwyler"}),T=ve(""),w=ze({nameAr:"",nameEn:"",groupCode:""}),I=ve(null),b=ve(null),P=ve(null),M=ze({stage:"",playerId:null}),B=ve(S.value.join(", ")),U=ve(""),W=ve("id"),Z=ze({preliminary:"",final_common:"",prelim_tiebreak:"",final_tiebreak:""}),V=ze({phase:"preliminary",group:"",round:1}),J=ve(0),ne=ve("rotate"),q=ve(""),re=ve(0);let ye=null;const Be=ve(0),Te=ve(0);let be=null,ge=null,Ee=null,We=null,et=!1,je=!1;const tt=ze({open:!1,image:"",title:""}),ut=ze({open:!1,stage:""}),bt=ze({open:!1,sourceImage:""}),se=ze({open:!1,loading:!1,error:"",image:"",advice:null,currentScore:0,stage:"",playerId:0}),z=ze({}),ce=ze({}),X=ze({show:!1,kind:"success",message:""});let Se=null;const Me=L(()=>{var p,F;const u=Y("titleFallback");return(C.value==="ar"?(p=g.value.competition)==null?void 0:p.titleAr:(F=g.value.competition)==null?void 0:F.titleEn)||u}),h=L(()=>[...g.value.players||[]].sort((u,d)=>u.id-d.id)),$=L(()=>{var u,d;return((d=(u=g.value.derived)==null?void 0:u.preliminaryRanking)==null?void 0:d.rows)||[]}),A=L(()=>{var u;return((u=g.value.derived)==null?void 0:u.finalists)||[]}),R=L(()=>{var u,d;return((d=(u=g.value.derived)==null?void 0:u.finalGroups)==null?void 0:d.group1)||[]}),N=L(()=>{var u,d;return((d=(u=g.value.derived)==null?void 0:u.finalGroups)==null?void 0:d.group2)||[]}),E=L(()=>{var u,d;return((d=(u=g.value.derived)==null?void 0:u.finalRanking)==null?void 0:d.rows)||[]}),H=L(()=>{var u;return((u=g.value.derived)==null?void 0:u.podium)||[]}),j=L(()=>{var u,d;return((d=(u=g.value.derived)==null?void 0:u.preliminaryRanking)==null?void 0:d.tieBreak)||{required:!1,resolved:!0,slots:0,playerIds:[]}}),D=L(()=>{var u,d;return((d=(u=g.value.derived)==null?void 0:u.finalRanking)==null?void 0:d.tieBreak)||{required:!1,resolved:!0,slots:0,playerIds:[]}}),x=L(()=>{const u=g.value.positionBoards||{},d={};for(const p of r)d[p]=u[p]||{};return d}),ee=L(()=>{var u;return!!((u=g.value.settings)!=null&&u.viewProofInView)}),K=L(()=>{var te;const u=((te=g.value.settings)==null?void 0:te.liveMode)||{},d=u.groupDisplayMode==="fixed"?"fixed":"rotate",p=u.finalDisplayMode==="fixed"?"fixed":"rotate";return{activeView:yl(u.activeView||"group_live"),showGroupLive:u.showGroupLive!==!1,groupDisplayMode:d,groupFixedCode:Ne(u.groupFixedCode||""),showPrelimTie:u.showPrelimTie!==!1,showPrelimOverall:u.showPrelimOverall!==!1,showFinalGroups:u.showFinalGroups!==!1,finalDisplayMode:p,finalFixedGroup:Number(u.finalFixedGroup)===2?2:1,showFinalTie:u.showFinalTie!==!1,showPodium:u.showPodium!==!1,rotationIntervalSec:Number(u.rotationIntervalSec)>0?Number(u.rotationIntervalSec):5,rotationPlayerCount:Number(u.rotationPlayerCount)>0?Number(u.rotationPlayerCount):12}}),Q=L(()=>g.value.current_stage||null),ie=L(()=>g.value.last_stage||null),pe=L(()=>Ll(Q.value)),Ie=L(()=>ql(Q.value)),Pe=L(()=>[{id:"groups",label:Y("tabs.groups")},{id:"live",label:Y("tabs.live")},{id:"overall",label:Y("tabs.overall")},{id:"final",label:Y("tabs.final")},{id:"podium",label:Y("tabs.podium")}]),xe=L(()=>[{id:"players",label:Y("tabs.players")},{id:"liveMode",label:Y("tabs.liveModeAdmin")},{id:"preliminary",label:Y("tabs.preliminary")},{id:"prelimTie",label:Y("tabs.prelimTie")},{id:"final",label:Y("tabs.final")},{id:"finalTie",label:Y("tabs.finalTie")}]),Le=L(()=>{const u=new Map;for(const d of h.value){const p=(d.groupCode||"").trim()||Y("labels.unassigned");u.has(p)||u.set(p,[]),u.get(p).push(d)}return[...u.entries()].sort((d,p)=>d[0].localeCompare(p[0])).map(([d,p])=>({code:d,players:p}))}),rt=L(()=>Le.value.map(u=>({code:u.code,key:Ur(u.code),count:u.players.length}))),Ke=L(()=>{const u={unassigned:0};for(const p of S.value)u[p]=0;const d=new Map;for(const p of h.value){const F=Ne(p.groupCode);F?S.value.includes(F)?u[F]+=1:d.set(F,(d.get(F)||0)+1):u.unassigned+=1}return{counts:u,other:[...d.entries()].sort((p,F)=>p[0].localeCompare(F[0]))}}),ct=L(()=>{const u=Ke.value.other.map(([d])=>d);return[...S.value,...u]}),Wn=L(()=>{const u=S.value.map(d=>({key:d.toLowerCase(),label:`${Y("labels.group")} ${d}`,count:Ke.value.counts[d]}));return u.push({key:"u",label:Y("labels.unassigned"),count:Ke.value.counts.unassigned}),u}),He=L(()=>{const u=new Set;for(const d of h.value){const p=Ne(d.groupCode);p&&u.add(p)}return[...u].sort((d,p)=>d.localeCompare(p))}),qe=L(()=>ct.value),dt=L(()=>He.value),yn=L(()=>ne.value==="fixed"?q.value||qe.value[0]||"":dt.value[J.value]||""),al=L(()=>{const u=Ne(yn.value);if(!u)return[];const d=h.value.filter(p=>Ne(p.groupCode)===u);return Uo(d)}),Vt=L(()=>He.value),Fo=L(()=>{if(K.value.groupDisplayMode==="fixed"){const u=Ne(K.value.groupFixedCode);return u||Vt.value[0]||""}return Vt.value[Be.value]||""}),ul=L(()=>{const u=Ne(Fo.value);if(!u)return[];const d=h.value.filter(p=>Ne(p.groupCode)===u);return Uo(d)}),Ao=L(()=>K.value.finalDisplayMode==="fixed"?K.value.finalFixedGroup===2?2:1:Te.value%2===0?1:2),No=L(()=>{var p;const u=jt("final",Ri.value),d={};for(const F of u){const te=((p=qo("final",F.playerId))==null?void 0:p.groupKey)||String(F.finalGroup||1);d[te]||(d[te]=[]),d[te].push(F)}return d}),cl=L(()=>{const u=String(Ao.value===2?2:1);return No.value[u]||[]}),Eo=L(()=>[H.value[1]||null,H.value[0]||null,H.value[2]||null]),dl=L(()=>{const u=new Set(j.value.playerIds||[]),d=$.value.filter(p=>u.has(p.playerId));return jt("prelim_tiebreak",d)}),fl=L(()=>{const u=new Set(D.value.playerIds||[]),d=E.value.filter(p=>u.has(p.playerId));return jt("final_tiebreak",d)}),Ei=L(()=>{const u=new Map;for(const d of h.value)u.set(d.id,d);return u}),Ro=L(()=>{const u=new Map;for(const d of $.value)u.set(d.playerId,d);return u}),Mo=L(()=>{const u=new Map;for(const d of E.value)u.set(d.playerId,d);return u}),ml=L(()=>{const u=h.value.map(d=>{const p=Ro.value.get(d.id);return{playerId:d.id,nameAr:d.nameAr,nameEn:d.nameEn,groupCode:d.groupCode,imageData:d.imageData,score:(p==null?void 0:p.score)??Zn(d.id),tieBreak:(p==null?void 0:p.tieBreak)??0,rank:(p==null?void 0:p.rank)??0}});return jt("preliminary",u)}),xo=L(()=>{const u=(j.value.playerIds||[]).map(d=>{const p=Ei.value.get(d);if(!p)return null;const F=Ro.value.get(d);return{playerId:d,nameAr:p.nameAr,nameEn:p.nameEn,groupCode:p.groupCode,imageData:p.imageData,score:(F==null?void 0:F.score)??Zn(d),tieBreak:(F==null?void 0:F.tieBreak)??0}}).filter(Boolean);return jt("prelim_tiebreak",u)}),Ri=L(()=>{const u=[...R.value,...N.value].map(d=>{const p=Ei.value.get(d.playerId),F=Mo.value.get(d.playerId);return{playerId:d.playerId,nameAr:(p==null?void 0:p.nameAr)||d.nameAr,nameEn:(p==null?void 0:p.nameEn)||d.nameEn,groupCode:(p==null?void 0:p.groupCode)||d.groupCode,imageData:(p==null?void 0:p.imageData)||d.imageData,finalGroup:d.finalGroup,seed:d.seed,score:(F==null?void 0:F.score)??d.score??0,tieBreak:(F==null?void 0:F.tieBreak)??d.tieBreak??0}});return jt("final",u)}),Go=L(()=>{const u=(D.value.playerIds||[]).map(d=>{const p=Ei.value.get(d);if(!p)return null;const F=Mo.value.get(d);return{playerId:d,nameAr:p.nameAr,nameEn:p.nameEn,groupCode:p.groupCode,imageData:p.imageData,finalGroup:(F==null?void 0:F.finalGroup)??0,seed:(F==null?void 0:F.seed)??0,score:(F==null?void 0:F.score)??Qn(d),tieBreak:(F==null?void 0:F.tieBreak)??0}}).filter(Boolean);return jt("final_tiebreak",u)}),Mi=L(()=>{const u=Xn([...ct.value,...He.value]),d=Xn([...Object.keys(No.value||{}),"1","2"]).filter(te=>te==="1"||te==="2"),p=Xn((xo.value||[]).map(te=>String(te._boardGroupKey||te.scoreGroup||"1"))),F=Xn((Go.value||[]).map(te=>String(te._boardGroupKey||te.scoreGroup||"1")));return{preliminary:u,prelim_tiebreak:p.length>0?p:["1"],final:d.length>0?d:["1","2"],final_tiebreak:F.length>0?F:["1"]}});Ue(C,u=>{localStorage.setItem("shooting_lang",u),document.documentElement.lang=u,document.documentElement.dir=u==="ar"?"rtl":"ltr"}),Ue(()=>`${c.value}|${s.value}|${ne.value}|${dt.value.join("|")}`,()=>{if(c.value==="view"&&s.value==="live"&&ne.value==="rotate"){Ca();return}Li()}),Ue(()=>`${c.value}|${K.value.activeView}|${K.value.groupDisplayMode}|${K.value.finalDisplayMode}|${K.value.rotationIntervalSec}|${Vt.value.join("|")}|${R.value.length}|${N.value.length}`,()=>{if(c.value==="live"){ka();return}qi()}),Ue(()=>qe.value.join("|"),()=>{if(qe.value.length===0){q.value="";return}qe.value.includes(q.value)||(q.value=qe.value[0])},{immediate:!0}),Ue(()=>dt.value.join("|"),()=>{if(dt.value.length===0){J.value=0;return}J.value>=dt.value.length&&(J.value=0)},{immediate:!0}),Ue(()=>Vt.value.join("|"),()=>{if(Vt.value.length===0){Be.value=0;return}Be.value>=Vt.value.length&&(Be.value=0)},{immediate:!0}),Ue(()=>`${R.value.length}|${N.value.length}`,()=>{Te.value<0&&(Te.value=0)},{immediate:!0}),Ue(()=>`${V.phase}|${JSON.stringify(Mi.value)}`,()=>{Gi()},{immediate:!0}),jn(async()=>{At(),document.addEventListener("fullscreenchange",At),document.addEventListener("webkitfullscreenchange",At),document.addEventListener("mozfullscreenchange",At),document.addEventListener("MSFullscreenChange",At),document.documentElement.lang=C.value,document.documentElement.dir=C.value==="ar"?"rtl":"ltr",await ln(),Pa()}),Kn(()=>{document.removeEventListener("fullscreenchange",At),document.removeEventListener("webkitfullscreenchange",At),document.removeEventListener("mozfullscreenchange",At),document.removeEventListener("MSFullscreenChange",At),Li(),qi(),tr(),Se&&clearTimeout(Se)});function Y(u){const d=M0[C.value];return u.split(".").reduce((p,F)=>p&&p[F]!==void 0?p[F]:u,d)}function gl(u){(u==="ar"||u==="en")&&(C.value=u)}function Oo(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null}function At(){m.value=!!Oo()}function pl(u){if(!u)return Promise.resolve();const d=u.requestFullscreen||u.webkitRequestFullscreen||u.mozRequestFullScreen||u.msRequestFullscreen;if(!d)return Promise.resolve();const p=d.call(u);return p&&typeof p.then=="function"?p:Promise.resolve()}function hl(){const u=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen||document.msExitFullscreen;if(!u)return Promise.resolve();const d=u.call(document);return d&&typeof d.then=="function"?d:Promise.resolve()}async function vl(){try{if(Oo()){await hl();return}await pl(document.documentElement)}catch{}}function yl(u){const d=String(u).trim().toLowerCase();return new Set(["group_live","prelim_tie","prelim_overall","final_groups","final_tie","final_overall","podium"]).has(d)?d:"group_live"}function bl(u){try{return new Intl.DateTimeFormat(C.value==="ar"?"ar-AE":"en-US",{dateStyle:"medium",timeStyle:"short"}).format(new Date(u))}catch{return u}}function Sl(u){var F;const d=Ne(u);if(!d)return`${Y("labels.unassigned")} (${Ke.value.counts.unassigned})`;if(S.value.includes(d))return`${d} (${Ke.value.counts[d]})`;const p=((F=Ke.value.other.find(([te])=>te===d))==null?void 0:F[1])||0;return`${d} (${p})`}function Bo(u){const d=Ne(u);if(!d)return Number.MAX_SAFE_INTEGER-1;const p=ct.value.indexOf(d);return p>=0?p:Number.MAX_SAFE_INTEGER}function Lo(u,d){const p=Bo(u.groupCode),F=Bo(d.groupCode);if(p!==F)return p-F;const te=Ne(u.groupCode),Re=Ne(d.groupCode);if(te!==Re)return te?Re?te.localeCompare(Re):-1:1;const fe=Number(u.playerId||u.id||0),he=Number(d.playerId||d.id||0);return fe-he}function $l(u,d){const p=Number(u.score||0),F=Number(d.score||0);return p!==F?F-p:Lo(u,d)}function qo(u,d){var F;const p=((F=x.value)==null?void 0:F[u])||{};return p[String(d)]||p[d]||null}function xi(u,d,p=""){if(u==="preliminary"){const te=Ne(d||"");return te||(String(d||"").trim().toUpperCase()==="UNASSIGNED"?"UNASSIGNED":p||"UNASSIGNED")}const F=Number.parseInt(String(d||""),10);return Number.isFinite(F)&&F>0?String(F):p||"1"}function wl(u,d=1){const p=Number(u);return Number.isFinite(p)&&p>0?Math.floor(p):d}function Do(u,d){if(u==="preliminary"){if(d==="UNASSIGNED")return Number.MAX_SAFE_INTEGER-1;const p=ct.value.indexOf(d);return p>=0?p:Number.MAX_SAFE_INTEGER}return Number.parseInt(String(d||"0"),10)||Number.MAX_SAFE_INTEGER}function Uo(u){return jt("preliminary",u)}function jt(u,d){const p=Array.isArray(d)?d.slice():[];if(p.length<=1)return p;const F=p.slice();u==="preliminary"?F.sort(Lo):u==="final"?F.sort((fe,he)=>{const Ge=Number(fe.finalGroup||0),we=Number(he.finalGroup||0);if(Ge!==we)return Ge-we;const St=Number(fe.seed||0),Kt=Number(he.seed||0);return St!==Kt?St-Kt:Number(fe.playerId||fe.id||0)-Number(he.playerId||he.id||0)}):F.sort($l);const te=new Map,Re=new Map;for(let fe=0;fe0?we=String(Kt):Number.isFinite(Di)&&Di>0?we=String(Di):we="1"}else we="1";const St=(Re.get(we)||0)+1;Re.set(we,St),te.set(Ge,{groupKey:we,position:St,index:fe})}return p.map(fe=>{const he=Number(fe.playerId||fe.id||0),Ge=te.get(he)||{groupKey:"1",position:Number.MAX_SAFE_INTEGER,index:Number.MAX_SAFE_INTEGER},we=qo(u,he),St=xi(u,we==null?void 0:we.groupKey,Ge.groupKey),Kt=wl(we==null?void 0:we.position,Ge.position);return{row:fe,groupKey:St,position:Kt,fallbackIndex:Ge.index}}).sort((fe,he)=>{const Ge=Do(u,fe.groupKey),we=Do(u,he.groupKey);return Ge!==we?Ge-we:fe.groupKey!==he.groupKey?String(fe.groupKey).localeCompare(String(he.groupKey)):fe.position!==he.position?fe.position-he.position:fe.fallbackIndex-he.fallbackIndex}).map(fe=>({...fe.row,_boardGroupKey:fe.groupKey,_boardPosition:fe.position}))}function Cl(){const u=sl(B.value);S.value=u.length>0?u:rl,B.value=S.value.join(", "),localStorage.setItem("shooting_group_list",S.value.join(",")),S.value.includes(Ne(w.groupCode))||(w.groupCode=""),ae(Y("messages.saved"))}function kl({key:u,value:d}){Object.prototype.hasOwnProperty.call(w,u)&&(w[u]=d)}function Il(u){if(u==="ar_to_en"){const d=String(w.nameAr||"").trim();if(!d){ae(Y("messages.noNameToConvert"),"error");return}w.nameEn=oi("ar_to_en",d);return}if(u==="en_to_ar"){const d=String(w.nameEn||"").trim();if(!d){ae(Y("messages.noNameToConvert"),"error");return}w.nameAr=oi("en_to_ar",d)}}function Pl({stage:u,value:d}){Object.prototype.hasOwnProperty.call(Z,u)&&(Z[u]=d)}async function Tl(u){const d=String((u==null?void 0:u.board)||"").trim().toLowerCase();if(!r.includes(d))return;const p=Array.isArray(u==null?void 0:u.slots)?u.slots:[];try{g.value=await De(`/admin/positions/${d}`,{method:"PUT",admin:!0,body:{slots:p}})}catch(F){ae(`${Y("messages.errorPrefix")}: ${F.message}`,"error")}}async function Fl(){const u=[...Ri.value].filter(p=>Number(p.seed||0)>0).sort((p,F)=>{const te=Number(p.seed||0),Re=Number(F.seed||0);return te!==Re?te-Re:Number(p.playerId||0)-Number(F.playerId||0)});if(u.length===0){ae(Y("labels.noFinalists"),"error");return}const d=u.map((p,F)=>({playerId:p.playerId,groupKey:F<6?"1":"2",position:F%6+1}));try{g.value=await De("/admin/positions/final",{method:"PUT",admin:!0,body:{slots:d}}),ae(Y("messages.saved"))}catch(p){ae(`${Y("messages.errorPrefix")}: ${p.message}`,"error")}}async function Al(){if(S.value.length===0){ae(Y("messages.noGroupsConfigured"),"error");return}try{g.value=await De("/admin/players/auto-group",{method:"POST",admin:!0,body:{groups:S.value}}),ae(Y("messages.saved"))}catch(u){ae(`${Y("messages.errorPrefix")}: ${u.message}`,"error")}}function Nl(u){u!=="rotate"&&u!=="fixed"||(ne.value=u,u==="fixed"&&!q.value&&qe.value.length>0&&(q.value=qe.value[0]))}function El(u){const d=Ne(u||"");q.value=d}function Rl(u){const d=Ur(u);return d==="u"?"row-group-empty":"row-group-"+d}function zn(u){return C.value==="ar"?u.nameAr:u.nameEn}function Vo(u){return C.value==="ar"?u.nameEn:u.nameAr}function Yn(u){if(u!=null&&u.imageData)return u.imageData;const d=(u==null?void 0:u.nameAr)||(u==null?void 0:u.nameEn)||"Player";return`https://ui-avatars.com/api/?name=${encodeURIComponent(d)}&background=F0F2F8&color=1B1F40&bold=true&rounded=true&size=180`}function ae(u,d="success"){X.message=u,X.kind=d,X.show=!0,Se&&clearTimeout(Se),Se=setTimeout(()=>{X.show=!1},2500)}function jo(u=!1){k.value="",localStorage.removeItem("shooting_admin_token"),u&&ae(Y("messages.unauthorized"),"error")}async function De(u,d={}){const p=await fetch(`${t}${u}`,{method:d.method||"GET",headers:{"Content-Type":"application/json",...d.admin&&k.value?{Authorization:`Bearer ${k.value}`}:{}},body:d.body?JSON.stringify(d.body):void 0});let F=null;try{F=await p.json()}catch{F=null}if(!p.ok)throw d.admin&&p.status===401&&jo(!0),new Error((F==null?void 0:F.message)||`${p.status} ${p.statusText}`);return F}async function ln(u=!0){if(!je){je=!0,u&&(l.value=!0);try{const d=!!k.value;g.value=await De(d?"/admin/state":"/state",{admin:d})}catch(d){if(k.value==="")try{g.value=await De("/state")}catch{}ae(`${Y("messages.errorPrefix")}: ${d.message}`,"error")}finally{je=!1,u&&(l.value=!1)}}}async function Ml(){T.value="";try{const u=await De("/admin/login",{method:"POST",body:{username:O.username,password:O.password}});k.value=u.token,localStorage.setItem("shooting_admin_token",u.token),await ln(!1),ae(Y("messages.saved"))}catch(u){T.value=u.message}}async function xl(){try{k.value&&await De("/admin/logout",{method:"POST",admin:!0})}catch{}jo(!1),await ln(!1)}async function Ko(u){try{g.value=await De("/admin/settings",{method:"PUT",admin:!0,body:u}),ae(Y("messages.saved"))}catch(d){ae(`${Y("messages.errorPrefix")}: ${d.message}`,"error")}}async function Gl(u){await Ko({viewProofInView:!!u})}async function Ol(u){!u||typeof u!="object"||await Ko({liveMode:u})}function Xn(u){const d=new Set;for(const p of u||[]){const F=String(p||"").trim();F&&d.add(F)}return[...d].sort((p,F)=>p.localeCompare(F,void 0,{numeric:!0}))}function Bl(u){return u==="preliminary"?3:u==="final"?2:1}function Ll(u){if(!u||typeof u!="object")return"";const d=String(u.phase||"").trim().toLowerCase(),p=Number(u.round||1);return d==="preliminary"?`prelim_r${Math.min(3,Math.max(1,Math.floor(p||1)))}`:d==="final"?`final_r${Math.min(2,Math.max(1,Math.floor(p||1)))}`:d==="prelim_tiebreak"?"prelim_tiebreak":d==="final_tiebreak"?"final_tiebreak":""}function ql(u){if(!u||typeof u!="object")return"";const d=String(u.phase||"").trim().toLowerCase(),p=String(u.group||"").trim();if(!p)return"";if(d==="preliminary")return p.toUpperCase()==="UNASSIGNED"?"UNASSIGNED":Ne(p);const F=Number.parseInt(p,10);return Number.isFinite(F)&&F>0?String(F):p}function Dl(u){const d=String(u||"").trim().toLowerCase();return d==="preliminary"?"preliminary":d==="prelim_tiebreak"?"prelimTie":d==="final"?"final":d==="final_tiebreak"?"finalTie":""}function Gi(){var Re;const u=String(V.phase||"preliminary").trim().toLowerCase();["preliminary","prelim_tiebreak","final","final_tiebreak"].includes(u)?V.phase=u:V.phase="preliminary";const d=Bl(V.phase),p=Number(V.round||1);V.round=Math.min(d,Math.max(1,Number.isFinite(p)?Math.floor(p):1));const F=((Re=Mi.value)==null?void 0:Re[V.phase])||[];if(F.length===0){V.group="";return}const te=String(V.group||"").trim();F.includes(te)||(V.group=F[0])}function Ul(u){!u||typeof u!="object"||(Object.prototype.hasOwnProperty.call(u,"phase")&&(V.phase=String(u.phase||"preliminary").trim().toLowerCase()),Object.prototype.hasOwnProperty.call(u,"group")&&(V.group=String(u.group||"").trim()),Object.prototype.hasOwnProperty.call(u,"round")&&(V.round=Number(u.round||1)),Gi())}async function Vl(){if(Gi(),!V.group){ae(Y("messages.noGroupForPhase"),"error");return}try{g.value=await De("/admin/stage/start",{method:"POST",admin:!0,body:{phase:V.phase,group:V.group,round:V.round}}),ae(Y("messages.saved"))}catch(u){ae(`${Y("messages.errorPrefix")}: ${u.message}`,"error")}}async function jl(){try{g.value=await De("/admin/stage/end",{method:"POST",admin:!0}),ae(Y("messages.saved"))}catch(u){ae(`${Y("messages.errorPrefix")}: ${u.message}`,"error")}}function Kl(){const u=Q.value;if(!u){ae(Y("labels.noCurrentStage"),"error");return}const d=Dl(u.phase);d&&(f.value=d)}async function Hl(){if(!w.nameAr||!w.nameEn){ae(Y("messages.mustProvideNames"),"error");return}try{g.value=await De("/admin/players",{method:"POST",admin:!0,body:{nameAr:w.nameAr,nameEn:w.nameEn,groupCode:Ne(w.groupCode)}}),w.nameAr="",w.nameEn="",w.groupCode="",ae(Y("messages.saved"))}catch(u){ae(`${Y("messages.errorPrefix")}: ${u.message}`,"error")}}async function an(u,d){try{g.value=await De(`/admin/players/${u}`,{method:"PUT",admin:!0,body:d}),ae(Y("messages.saved"))}catch(p){ae(`${Y("messages.errorPrefix")}: ${p.message}`,"error")}}async function Wl(u,d,p){const F=String(p.target.value||"").trim();if(F!==u[d]){if((d==="nameAr"||d==="nameEn")&&F===""){p.target.value=u[d],ae(Y("messages.mustProvideNames"),"error");return}await an(u.id,{[d]:F})}}function zl({player:u,field:d,event:p}){Wl(u,d,p)}async function Yl(u,d){const p=Ne(d.target.value),F=Ne(u.groupCode);p!==F&&await an(u.id,{groupCode:p})}function Xl({player:u,event:d}){Yl(u,d)}async function Jl({player:u,direction:d}){if(!(!u||!d)){if(d==="ar_to_en"){const p=String(u.nameAr||"").trim();if(!p){ae(Y("messages.noNameToConvert"),"error");return}await an(u.id,{nameEn:oi("ar_to_en",p)});return}if(d==="en_to_ar"){const p=String(u.nameEn||"").trim();if(!p){ae(Y("messages.noNameToConvert"),"error");return}await an(u.id,{nameAr:oi("en_to_ar",p)})}}}async function Zl(u){if(window.confirm(Y("messages.confirmDelete")))try{g.value=await De(`/admin/players/${u}`,{method:"DELETE",admin:!0}),ae(Y("messages.saved"))}catch(p){ae(`${Y("messages.errorPrefix")}: ${p.message}`,"error")}}function Ql(u){var d;c.value!=="admin"||!k.value||(P.value=u,(d=I.value)==null||d.click())}async function _l(u){var p;const d=(p=u.target.files)==null?void 0:p[0];if(u.target.value="",!(!d||!P.value))try{bt.sourceImage=await Yo(d,1800,.9),bt.open=!0}catch(F){ae(`${Y("messages.errorPrefix")}: ${F.message}`,"error")}}function Oi(){bt.open=!1,bt.sourceImage="",P.value=null}async function ea(u){if(!P.value||!u){Oi();return}try{await an(P.value,{imageData:u})}finally{Oi()}}async function ta(u){await an(u,{clearImage:!0})}function un(u,d){var p,F;return((F=(p=g.value.scoreProofs)==null?void 0:p[u])==null?void 0:F[String(d)])||""}function Bi(u,d){return un(u,d)!==""}function na(u,d){var p;c.value!=="admin"||!k.value||(M.stage=u,M.playerId=d,(p=b.value)==null||p.click())}function ia(u){!u||!u.stage||!u.playerId||Ho(u.stage,u.playerId)}function Ho(u,d){const p=un(u,d);p&&(tt.open=!0,tt.image=p,tt.title=`${Y("table.verification")} · ${u}`)}function oa(){tt.open=!1,tt.image="",tt.title=""}async function ra(u){var p;const d=(p=u.target.files)==null?void 0:p[0];if(u.target.value="",!(!d||!M.stage||!M.playerId))try{const F=await Yo(d,1280,.86);g.value=await De(`/admin/scores/${M.stage}/${M.playerId}/proof`,{method:"PUT",admin:!0,body:{imageData:F}}),delete z[Jn(M.stage,M.playerId)],ae(Y("messages.saved"))}catch(F){ae(`${Y("messages.errorPrefix")}: ${F.message}`,"error")}finally{M.stage="",M.playerId=null}}async function sa(u,d){try{g.value=await De(`/admin/scores/${u}/${d}/proof`,{method:"DELETE",admin:!0}),delete z[Jn(u,d)],ae(Y("messages.saved"))}catch(p){ae(`${Y("messages.errorPrefix")}: ${p.message}`,"error")}}async function la(u,d){await Wo(u,d)}async function aa(u,d){const p=un(u,d);if(!p)throw new Error(Y("messages.noProofForAi"));const F=await De(`/admin/scores/${u}/${d}/advice`,{method:"POST",admin:!0});return z[Jn(u,d)]=F,{advice:F,image:p}}async function Wo(u,d){const p=un(u,d);if(!p){ae(Y("messages.noProofForAi"),"error");return}const F=Number(Zt(u,d)||0);se.open=!0,se.loading=!0,se.error="",se.image=p,se.advice=z[Jn(u,d)]||null,se.currentScore=F,se.stage=u,se.playerId=d;try{const te=await aa(u,d);se.image=te.image,se.advice=te.advice}catch(te){se.error=`${Y("messages.errorPrefix")}: ${te.message}`}finally{se.loading=!1}}function Jn(u,d){return`${u}:${d}`}function zo(){se.open=!1,se.loading=!1,se.error="",se.image="",se.advice=null,se.currentScore=0,se.stage="",se.playerId=0}async function ua(){!se.stage||!se.playerId||await Wo(se.stage,se.playerId)}async function ca(){if(!se.advice)return;const u=se.stage,d=se.playerId,p=ma(se.advice.advisedScore);await Qo(u,d,p),se.currentScore=p,zo()}function Yo(u,d,p){return new Promise((F,te)=>{const Re=new FileReader;Re.onerror=()=>te(new Error("Failed to read image")),Re.onload=()=>{const fe=new Image;fe.onerror=()=>te(new Error("Invalid image file")),fe.onload=()=>{let he=fe.width,Ge=fe.height;he>Ge&&he>d?(Ge=Math.round(Ge*d/he),he=d):Ge>d&&(he=Math.round(he*d/Ge),Ge=d);const we=document.createElement("canvas");we.width=he,we.height=Ge;const St=we.getContext("2d");if(!St){te(new Error("Failed to process image"));return}St.drawImage(fe,0,0,he,Ge),F(we.toDataURL("image/jpeg",p))},fe.src=Re.result},Re.readAsDataURL(u)})}function Zt(u,d){var p,F;return((F=(p=g.value.scores)==null?void 0:p[u])==null?void 0:F[String(d)])??0}function Xo(u,d){return u.reduce((p,F)=>p+Number(Zt(F,d)||0),0)}function Zn(u){return Xo(n,u)}function Qn(u){return Xo(o,u)}function Jo(u,d){for(const p of u)if(Bi(p,d))return p;return""}function da(u){return Jo([...n].reverse(),u)}function fa(u){return Jo([...o].reverse(),u)}function bn(u,d){return`${u}:${d}`}function ma(u){let d=Number(u);return Number.isFinite(d)||(d=0),d=Math.trunc(d),d<0?0:d>100?100:d}function ga(u,d){const p=ce[bn(u,d)];return p?p.value:String(Zt(u,d))}function pa(u,d){const p=ce[bn(u,d)];return!!(p!=null&&p.invalid)}function Zo(u){let d=Number(u===""?0:u);return Number.isFinite(d)||(d=0),Math.trunc(d)}function ha(u,d){const p=bn(u,d);ce[p]||(ce[p]={value:String(Zt(u,d)),committing:!1,invalid:!1})}function va(u,d,p){var we;const F=bn(u,d),Re=String(((we=p==null?void 0:p.target)==null?void 0:we.value)??"").replace(/[^\d]/g,"").slice(0,3),fe=Zo(Re),he=Re!==""&&(fe<0||fe>100),Ge=ce[F]||{value:String(Zt(u,d)),committing:!1,invalid:!1};ce[F]={...Ge,value:Re,invalid:he},p!=null&&p.target&&p.target.value!==Re&&(p.target.value=Re)}async function ya(u,d){const p=bn(u,d),F=ce[p];if(!F||F.committing)return;const te=Zo(F.value);if(te<0||te>100){ce[p]={...F,invalid:!0},ae(Y("messages.invalidScore"),"error");return}if(te===Zt(u,d)){delete ce[p];return}ce[p]={...F,invalid:!1,committing:!0},await Qo(u,d,te,p)}async function Qo(u,d,p,F=""){if(p<0||p>100){ae(Y("messages.invalidScore"),"error");return}try{g.value=await De(`/admin/scores/${u}/${d}`,{method:"PUT",admin:!0,body:{score:p}}),F&&delete ce[F]}catch(te){F&&ce[F]&&(ce[F]={...ce[F],committing:!1}),ae(`${Y("messages.errorPrefix")}: ${te.message}`,"error")}}function ba(u){ut.open=!0,ut.stage=u}function _o(){ut.open=!1,ut.stage=""}async function Sa(u){const d=ut.stage;if(!d)return;const p=$a(d);try{g.value=await De(`/admin/scores/${d}/reset`,{method:"POST",admin:!0,body:{resetProofs:!!u}});for(const F of Object.keys(ce))p.some(te=>F.startsWith(`${te}:`))&&delete ce[F];if(u)for(const F of Object.keys(z))p.some(te=>F.startsWith(`${te}:`))&&delete z[F];_o(),ae(Y("messages.saved"))}catch(F){ae(`${Y("messages.errorPrefix")}: ${F.message}`,"error")}}function $a(u){return u==="preliminary"?n:u==="final"?o:[u]}function wa(u){return A.value.some(d=>d.playerId===u)}function Ca(){Li(),dt.value.length!==0&&(J.value=0,re.value+=1,!(dt.value.length<=1)&&(ye=setInterval(()=>{J.value=(J.value+1)%dt.value.length,re.value+=1},5e3)))}function Li(){ye&&(clearInterval(ye),ye=null)}function ka(){qi();const u=K.value.activeView==="group_live"&&K.value.groupDisplayMode==="rotate"&&Vt.value.length>1,d=K.value.activeView==="final_groups"&&K.value.finalDisplayMode==="rotate"&&R.value.length>0&&N.value.length>0;if(!u&&!d)return;Be.value=0,Te.value=0;const p=Math.max(3,Number(K.value.rotationIntervalSec)||5)*1e3;be=setInterval(()=>{u&&(Be.value=(Be.value+1)%Vt.value.length),d&&(Te.value=(Te.value+1)%2)},p)}function qi(){be&&(clearInterval(be),be=null)}function Ia(){return`${t.endsWith("/")?t.slice(0,-1):t}/events`}function er(){Ee&&(Ee.close(),Ee=null),We&&(clearTimeout(We),We=null),Ee=new EventSource(Ia()),Ee.onopen=()=>{et=!0},Ee.addEventListener("state",()=>{ln(!1)}),Ee.onerror=()=>{et=!1,Ee&&(Ee.close(),Ee=null),We||(We=setTimeout(()=>{We=null,er()},W0))}}function Pa(){tr(),er(),ge=setInterval(()=>{et||ln(!1)},H0)}function tr(){et=!1,We&&(clearTimeout(We),We=null),Ee&&(Ee.close(),Ee=null),ge&&(clearInterval(ge),ge=null)}function nr(u){return!u||u.score===0?Y("labels.waiting"):zn(u)}function ir(u){return!u||u.score===0?"https://ui-avatars.com/api/?name=?&background=F0F2F8&color=1B1F40&rounded=true&size=200":Yn(u)}function _n(u){return!!(u&&u.score>0)}function or(u){return _n(u)?`${Y("table.score")}: ${u.score}`:"-"}function rr(u){return!_n(u)||!D.value.required?"":`${Y("table.tieScore")}: ${u.tieBreak}`}return(u,d)=>(v(),y("div",{class:le(["app-shell",["lang-"+C.value,"mode-"+c.value]])},[i("input",{ref_key:"imageInput",ref:I,type:"file",class:"hidden-file-input",accept:"image/*",capture:"environment",onChange:_l},null,544),i("input",{ref_key:"scoreProofInput",ref:b,type:"file",class:"hidden-file-input",accept:"image/*",capture:"environment",onChange:ra},null,544),me(Ed,{t:Y,"competition-title":Me.value,mode:c.value,language:C.value,"is-fullscreen":m.value,"server-time":g.value.serverTime?bl(g.value.serverTime):"",onChangeMode:d[0]||(d[0]=p=>c.value=p),onChangeLanguage:gl,onToggleFullscreen:vl},null,8,["competition-title","mode","language","is-fullscreen","server-time"]),i("main",j0,[l.value?(v(),y("section",K0,[d[9]||(d[9]=i("div",{class:"spinner"},null,-1)),i("p",null,a(Y("labels.loading")),1)])):(v(),fn(Yt,{key:1,name:"mode-fade",mode:"out-in"},{default:Mt(()=>[(v(),y("div",{key:"mode-"+c.value},[c.value==="view"?(v(),fn(ag,{key:0,t:Y,"view-tabs":Pe.value,"view-tab":s.value,"group-summaries":rt.value,"players-sorted":h.value,"row-class":Rl,"player-image":Yn,"display-name":zn,"secondary-name":Vo,"live-mode":ne.value,"selected-live-group":q.value,"live-selectable-groups":qe.value,"live-group-code":yn.value,"live-members":al.value,"live-tick":re.value,"preliminary-rows":$.value,finalists:A.value,"is-finalist":wa,"prelim-tie":j.value,"final-group1":R.value,"final-group2":N.value,"final-rows":E.value,"final-tie":D.value,"final-total-score":Qn,"preliminary-proof-stage":da,"final-proof-stage":fa,"podium-ordered":Eo.value,"podium-image":ir,"podium-name":nr,"podium-has-result":_n,"podium-score-main":or,"podium-tie-subtitle":rr,"can-view-proofs":ee.value,"has-score-proof":Bi,"score-proof-for":un,onChangeTab:d[1]||(d[1]=p=>s.value=p),onChangeLiveMode:Nl,onChangeLiveGroup:El,onOpenProof:ia},null,8,["view-tabs","view-tab","group-summaries","players-sorted","live-mode","selected-live-group","live-selectable-groups","live-group-code","live-members","live-tick","preliminary-rows","finalists","prelim-tie","final-group1","final-group2","final-rows","final-tie","podium-ordered","can-view-proofs"])):c.value==="live"?(v(),fn(Fh,{key:1,t:Y,"live-settings":K.value,"position-boards":x.value,"live-group-code":Fo.value,"live-group-members":ul.value,"prelim-tie":j.value,"prelim-tie-rows":dl.value,"preliminary-rows":$.value,finalists:A.value,"live-final-group":Ao.value,"live-final-rows":cl.value,"final-overall-rows":E.value,"final-tie-rows":fl.value,"podium-ordered":Eo.value,"player-image":Yn,"display-name":zn,"score-for":Zt,"prelim-total":Zn,"final-total":Qn,"podium-image":ir,"podium-name":nr,"podium-has-result":_n,"podium-score-main":or,"podium-tie-subtitle":rr},null,8,["live-settings","position-boards","live-group-code","live-group-members","prelim-tie","prelim-tie-rows","preliminary-rows","finalists","live-final-group","live-final-rows","final-overall-rows","final-tie-rows","podium-ordered"])):(v(),y(_,{key:2},[k.value?(v(),fn(YS,{key:1,t:Y,"admin-tabs":xe.value,"admin-tab":f.value,"view-proof-in-view":ee.value,"live-settings":K.value,"stage-control":V,"stage-options":Mi.value,"current-stage":Q.value,"last-stage":ie.value,"active-scoring-stage":pe.value,"active-scoring-group":Ie.value,"group-setup-input":B.value,"admin-group-cards":Wn.value,"new-player":w,"assignable-groups":ct.value,"players-sorted":h.value,"player-filter":U.value,"player-sort":W.value,"player-image":Yn,"group-option-label":Sl,"normalized-group-code":hs(Ne),"preliminary-score-rows":ml.value,"prelim-tie-score-rows":xo.value,"final-score-rows":Ri.value,"final-tie-score-rows":Go.value,"final-rows":E.value,"preliminary-total-score":Zn,"final-total-score":Qn,"prelim-tie":j.value,"final-tie":D.value,"position-boards":x.value,"score-filters":Z,"display-name":zn,"secondary-name":Vo,"score-input-value":ga,"score-input-invalid":pa,"on-score-focus":ha,"on-score-input":va,"on-score-commit":ya,"has-score-proof":Bi,"score-proof-for":un,"open-score-proof-uploader":na,"remove-score-proof":sa,"open-proof-preview":Ho,"request-score-advice":la,onRefresh:d[4]||(d[4]=p=>ln()),onLogout:xl,onToggleViewProof:Gl,onUpdateLiveSetting:Ol,onUpdateStageControl:Ul,onStartStage:Vl,onEndStage:jl,onNavigateCurrentStage:Kl,onChangeAdminTab:d[5]||(d[5]=p=>f.value=p),"onUpdate:groupSetupInput":d[6]||(d[6]=p=>B.value=p),onSaveGroupSetup:Cl,onAutoGroupEven:Al,"onUpdate:newPlayer":kl,onCreatePlayer:Hl,onConvertNewName:Il,"onUpdate:playerFilter":d[7]||(d[7]=p=>U.value=p),"onUpdate:playerSort":d[8]||(d[8]=p=>W.value=p),onOpenImageUploader:Ql,onUpdatePlayerField:zl,onUpdatePlayerGroup:Xl,onConvertRowName:Jl,onRemovePlayerImage:ta,onDeletePlayer:Zl,onRequestResetStage:ba,onResetFinalGroupBySeed:Fl,onSavePositionBoard:Tl,onUpdateScoreFilter:Pl},null,8,["admin-tabs","admin-tab","view-proof-in-view","live-settings","stage-control","stage-options","current-stage","last-stage","active-scoring-stage","active-scoring-group","group-setup-input","admin-group-cards","new-player","assignable-groups","players-sorted","player-filter","player-sort","normalized-group-code","preliminary-score-rows","prelim-tie-score-rows","final-score-rows","final-tie-score-rows","final-rows","prelim-tie","final-tie","position-boards","score-filters"])):(v(),fn(Gh,{key:0,t:Y,username:O.username,password:O.password,error:T.value,"onUpdate:username":d[2]||(d[2]=p=>O.username=p),"onUpdate:password":d[3]||(d[3]=p=>O.password=p),onSubmit:Ml},null,8,["username","password","error"]))],64))]))]),_:1}))]),me(_S,{open:tt.open,image:tt.image,title:tt.title,onClose:oa},null,8,["open","image","title"]),me(o0,{open:ut.open,t:Y,onCancel:_o,onConfirm:Sa},null,8,["open"]),me(f0,{open:bt.open,"source-image":bt.sourceImage,t:Y,onClose:Oi,onConfirm:ea},null,8,["open","source-image"]),me(R0,{open:se.open,t:Y,advice:se.advice,"current-score":se.currentScore,image:se.image,loading:se.loading,error:se.error,onClose:zo,onRefresh:ua,onApply:ca},null,8,["open","advice","current-score","image","loading","error"]),i("div",{class:le(["toast",[X.kind,{show:X.show}]])},a(X.message),3)],2))}};nd(z0).mount("#app");