@xcpcio/board-app 0.53.0 → 0.53.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/404.html +1 -1
  2. package/dist/assets/Balloon.vue_vue_type_script_setup_true_lang-CNaNh1cd.js +1 -0
  3. package/dist/assets/Board-D7W2MZ4t.js +1 -0
  4. package/dist/assets/Board-_AOcbImO.css +1 -0
  5. package/dist/assets/{ContestStateBadge-SaSIRVZw.js → ContestStateBadge-fTJw-IjF.js} +1 -1
  6. package/dist/assets/Countdown-1A-2QJ7m.js +1 -0
  7. package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-CXts-riZ.js +1 -0
  8. package/dist/assets/{Footer.vue_vue_type_script_setup_true_lang-DtriOyxw.js → Footer.vue_vue_type_script_setup_true_lang-Bk0nFBfB.js} +1 -1
  9. package/dist/assets/{NavBar-CTO09sVc.js → NavBar-C6sQ5txU.js} +1 -1
  10. package/dist/assets/Resolver-A6qSPE_R.js +25 -0
  11. package/dist/assets/{RightArrowIcon-93I3m1Dg.js → RightArrowIcon-ClOVVo1B.js} +1 -1
  12. package/dist/assets/{TheInput.vue_vue_type_script_setup_true_lang-Bstp0Uq6.js → TheInput.vue_vue_type_script_setup_true_lang-D5spkHqx.js} +1 -1
  13. package/dist/assets/{Tooltip.vue_vue_type_script_setup_true_lang-IVJ6kO8Y.js → Tooltip.vue_vue_type_script_setup_true_lang-FgOX36Lq.js} +1 -1
  14. package/dist/assets/{_...all_-CajB1u6j.js → _...all_-BSvAEkM-.js} +1 -1
  15. package/dist/assets/_...all_-DmfbP4Ao.js +1 -0
  16. package/dist/assets/{_name_-CKcXFscu.js → _name_-AmLA_ZW6.js} +1 -1
  17. package/dist/assets/{about-Bt1E61e1.js → about-tPNAra1j.js} +1 -1
  18. package/dist/assets/board-D0VTebOf.js +1 -0
  19. package/dist/assets/{board-layout-BDGSSQnD.js → board-layout-C2v-fo1W.js} +1 -1
  20. package/dist/assets/{constant-D5AETBoS.js → constant-b2ZZlr_Y.js} +1 -1
  21. package/dist/assets/{default-g2FZdb_E.js → default-D4907N0j.js} +1 -1
  22. package/dist/assets/{headless-AGI21K3d.js → headless-C_cFBCtG.js} +1 -1
  23. package/dist/assets/{home-CIo2SGx9.js → home-CRZ6rGwZ.js} +1 -1
  24. package/dist/assets/{index-Ci3FURub.css → index-BjCWriHl.css} +1 -1
  25. package/dist/assets/{index-CsD1PvIl.js → index-BnOiKE-V.js} +1 -1
  26. package/dist/assets/index-Bvki346r.js +1 -0
  27. package/dist/assets/{index-Bqug296L.js → index-CVZtA3I-.js} +3 -3
  28. package/dist/assets/{index-CDb5YJlm.js → index-ClcpF-3G.js} +1 -1
  29. package/dist/assets/index-D5Eq7tNN.js +1 -0
  30. package/dist/assets/{index-B0AiC33S.js → index-DQYGiW5A.js} +1 -1
  31. package/dist/assets/{index-BJlHNlHk.js → index-Dar9HUtt.js} +1 -1
  32. package/dist/assets/{index-eEOWm26O.js → index-XjAdtRAz.js} +1 -1
  33. package/dist/assets/index-cu4LZbd6.js +1 -0
  34. package/dist/assets/{index-layout-B9ZsHAPN.js → index-layout-Bp7ERlAB.js} +1 -1
  35. package/dist/assets/{pagination-SF0231GF.js → pagination-CHOfWwrE.js} +1 -1
  36. package/dist/assets/query-C-pLpLZb.js +1 -0
  37. package/dist/assets/{test-BmgsMNrG.js → test-Bw2mUsPy.js} +1 -1
  38. package/dist/assets/{use-vmodel-DKmkNt1c.js → use-vmodel-BKVjZ-1P.js} +1 -1
  39. package/dist/assets/{user-DVMgLOCG.js → user-o9hs8HNN.js} +1 -1
  40. package/dist/assets/{virtual_pwa-register-G08q8i_v.js → virtual_pwa-register-8shrxAmh.js} +1 -1
  41. package/dist/index.html +1 -1
  42. package/dist/sw.js +1 -1
  43. package/package.json +3 -3
  44. package/src/components/board/Board.vue +10 -5
  45. package/src/components/board/Standings.less +4 -4
  46. package/src/components/board/Utility.vue +18 -3
  47. package/src/composables/useQueryBoardData.ts +28 -14
  48. package/src/pages/[...all].vue +15 -4
  49. package/src/shims.d.ts +1 -0
  50. package/src/styles/color.css +10 -0
  51. package/vite.config.ts +8 -8
  52. package/dist/assets/Board--Fj0eIxn.css +0 -1
  53. package/dist/assets/Board-DVycq7Hb.js +0 -1
  54. package/dist/assets/DataSourceInput.vue_vue_type_script_setup_true_lang-ButnX5NG.js +0 -1
  55. package/dist/assets/_...all_-DkFLHLY4.js +0 -1
  56. package/dist/assets/board-BuZxK-RS.js +0 -1
  57. package/dist/assets/index-BVqqkkh8.js +0 -25
  58. package/dist/assets/index-ByBDbX-Q.js +0 -1
  59. package/dist/assets/index-DtIE9gnq.js +0 -1
  60. package/dist/assets/useQueryBoardData-MYqwKv9X.js +0 -1
  61. /package/dist/assets/{index-De6dfmWB.css → Countdown-De6dfmWB.css} +0 -0
  62. /package/dist/assets/{index-DRiWpQTB.css → Resolver-DRiWpQTB.css} +0 -0
@@ -0,0 +1 @@
1
+ var at=n=>{throw TypeError(n)};var K=(n,t,s)=>t.has(n)||at("Cannot "+s);var e=(n,t,s)=>(K(n,t,"read from private field"),s?s.call(n):t.get(n)),m=(n,t,s)=>t.has(n)?at("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,s),l=(n,t,s,i)=>(K(n,t,"write to private field"),i?i.call(n,s):t.set(n,s),s),p=(n,t,s)=>(K(n,t,"access private method"),s);import{a4 as Rt,a5 as ot,a6 as C,a7 as G,a8 as B,a9 as Ot,aa as ht,ab as ut,ac as St,ad as wt,ae as Ct,af as ct,ag as It,ah as Tt,ai as Et,aj as Qt,g as mt,ak as Dt,al as Ft,C as W,am as lt,an as Ut,ao as dt,ap as jt}from"./index-CVZtA3I-.js";import{a as xt}from"./constant-b2ZZlr_Y.js";import{u as vt}from"./index-ClcpF-3G.js";var y,a,k,v,D,L,T,w,N,M,$,F,U,E,A,u,_,Y,H,J,X,Z,q,tt,yt,bt,Pt=(bt=class extends Rt{constructor(t,s){super();m(this,u);m(this,y);m(this,a);m(this,k);m(this,v);m(this,D);m(this,L);m(this,T);m(this,w);m(this,N);m(this,M);m(this,$);m(this,F);m(this,U);m(this,E);m(this,A,new Set);this.options=s,l(this,y,t),l(this,w,null),l(this,T,ot()),this.options.experimental_prefetchInRender||e(this,T).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(e(this,a).addObserver(this),ft(e(this,a),this.options)?p(this,u,_).call(this):this.updateResult(),p(this,u,X).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return et(e(this,a),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return et(e(this,a),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,p(this,u,Z).call(this),p(this,u,q).call(this),e(this,a).removeObserver(this)}setOptions(t,s){const i=this.options,o=e(this,a);if(this.options=e(this,y).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof C(this.options.enabled,e(this,a))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");p(this,u,tt).call(this),e(this,a).setOptions(this.options),i._defaulted&&!G(this.options,i)&&e(this,y).getQueryCache().notify({type:"observerOptionsUpdated",query:e(this,a),observer:this});const r=this.hasListeners();r&&pt(e(this,a),o,this.options,i)&&p(this,u,_).call(this),this.updateResult(s),r&&(e(this,a)!==o||C(this.options.enabled,e(this,a))!==C(i.enabled,e(this,a))||B(this.options.staleTime,e(this,a))!==B(i.staleTime,e(this,a)))&&p(this,u,Y).call(this);const c=p(this,u,H).call(this);r&&(e(this,a)!==o||C(this.options.enabled,e(this,a))!==C(i.enabled,e(this,a))||c!==e(this,E))&&p(this,u,J).call(this,c)}getOptimisticResult(t){const s=e(this,y).getQueryCache().build(e(this,y),t),i=this.createResult(s,t);return Mt(this,i)&&(l(this,v,i),l(this,L,this.options),l(this,D,e(this,a).state)),i}getCurrentResult(){return e(this,v)}trackResult(t,s){const i={};return Object.keys(t).forEach(o=>{Object.defineProperty(i,o,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(o),s==null||s(o),t[o])})}),i}trackProp(t){e(this,A).add(t)}getCurrentQuery(){return e(this,a)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const s=e(this,y).defaultQueryOptions(t),i=e(this,y).getQueryCache().build(e(this,y),s);return i.isFetchingOptimistic=!0,i.fetch().then(()=>this.createResult(i,s))}fetch(t){return p(this,u,_).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),e(this,v)))}createResult(t,s){var rt;const i=e(this,a),o=this.options,r=e(this,v),c=e(this,D),b=e(this,L),R=t!==i?t.state:e(this,k),{state:d}=t;let f={...d},Q=!1,h;if(s._optimisticResults){const O=this.hasListeners(),z=!O&&ft(t,s),gt=O&&pt(t,i,s,o);(z||gt)&&(f={...f,...Ct(d.data,t.options)}),s._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:I,errorUpdatedAt:j,status:S}=f;if(s.select&&f.data!==void 0)if(r&&f.data===(c==null?void 0:c.data)&&s.select===e(this,N))h=e(this,M);else try{l(this,N,s.select),h=s.select(f.data),h=ct(r==null?void 0:r.data,h,s),l(this,M,h),l(this,w,null)}catch(O){l(this,w,O)}else h=f.data;if(s.placeholderData!==void 0&&h===void 0&&S==="pending"){let O;if(r!=null&&r.isPlaceholderData&&s.placeholderData===(b==null?void 0:b.placeholderData))O=r.data;else if(O=typeof s.placeholderData=="function"?s.placeholderData((rt=e(this,$))==null?void 0:rt.state.data,e(this,$)):s.placeholderData,s.select&&O!==void 0)try{O=s.select(O),l(this,w,null)}catch(z){l(this,w,z)}O!==void 0&&(S="success",h=ct(r==null?void 0:r.data,O,s),Q=!0)}e(this,w)&&(I=e(this,w),h=e(this,M),j=Date.now(),S="error");const x=f.fetchStatus==="fetching",P=S==="pending",V=S==="error",it=P&&x,nt=h!==void 0;return{status:S,fetchStatus:f.fetchStatus,isPending:P,isSuccess:S==="success",isError:V,isInitialLoading:it,isLoading:it,data:h,dataUpdatedAt:f.dataUpdatedAt,error:I,errorUpdatedAt:j,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>R.dataUpdateCount||f.errorUpdateCount>R.errorUpdateCount,isFetching:x,isRefetching:x&&!P,isLoadingError:V&&!nt,isPaused:f.fetchStatus==="paused",isPlaceholderData:Q,isRefetchError:V&&nt,isStale:st(t,s),refetch:this.refetch,promise:e(this,T)}}updateResult(t){const s=e(this,v),i=this.createResult(e(this,a),this.options);if(l(this,D,e(this,a).state),l(this,L,this.options),e(this,D).data!==void 0&&l(this,$,e(this,a)),G(i,s))return;if(this.options.experimental_prefetchInRender){const c=R=>{i.status==="error"?R.reject(i.error):i.data!==void 0&&R.resolve(i.data)},b=()=>{const R=l(this,T,i.promise=ot());c(R)},g=e(this,T);switch(g.status){case"pending":c(g);break;case"fulfilled":(i.status==="error"||i.data!==g.value)&&b();break;case"rejected":(i.status!=="error"||i.error!==g.reason)&&b();break}}l(this,v,i);const o={},r=()=>{if(!s)return!0;const{notifyOnChangeProps:c}=this.options,b=typeof c=="function"?c():c;if(b==="all"||!b&&!e(this,A).size)return!0;const g=new Set(b??e(this,A));return this.options.throwOnError&&g.add("error"),Object.keys(e(this,v)).some(R=>{const d=R;return e(this,v)[d]!==s[d]&&g.has(d)})};(t==null?void 0:t.listeners)!==!1&&r()&&(o.listeners=!0),p(this,u,yt).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&p(this,u,X).call(this)}},y=new WeakMap,a=new WeakMap,k=new WeakMap,v=new WeakMap,D=new WeakMap,L=new WeakMap,T=new WeakMap,w=new WeakMap,N=new WeakMap,M=new WeakMap,$=new WeakMap,F=new WeakMap,U=new WeakMap,E=new WeakMap,A=new WeakMap,u=new WeakSet,_=function(t){p(this,u,tt).call(this);let s=e(this,a).fetch(this.options,t);return t!=null&&t.throwOnError||(s=s.catch(Ot)),s},Y=function(){p(this,u,Z).call(this);const t=B(this.options.staleTime,e(this,a));if(ht||e(this,v).isStale||!ut(t))return;const i=St(e(this,v).dataUpdatedAt,t)+1;l(this,F,setTimeout(()=>{e(this,v).isStale||this.updateResult()},i))},H=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(e(this,a)):this.options.refetchInterval)??!1},J=function(t){p(this,u,q).call(this),l(this,E,t),!(ht||C(this.options.enabled,e(this,a))===!1||!ut(e(this,E))||e(this,E)===0)&&l(this,U,setInterval(()=>{(this.options.refetchIntervalInBackground||wt.isFocused())&&p(this,u,_).call(this)},e(this,E)))},X=function(){p(this,u,Y).call(this),p(this,u,J).call(this,p(this,u,H).call(this))},Z=function(){e(this,F)&&(clearTimeout(e(this,F)),l(this,F,void 0))},q=function(){e(this,U)&&(clearInterval(e(this,U)),l(this,U,void 0))},tt=function(){const t=e(this,y).getQueryCache().build(e(this,y),this.options);if(t===e(this,a))return;const s=e(this,a);l(this,a,t),l(this,k,t.state),this.hasListeners()&&(s==null||s.removeObserver(this),t.addObserver(this))},yt=function(t){It.batch(()=>{t.listeners&&this.listeners.forEach(s=>{s(e(this,v))}),e(this,y).getQueryCache().notify({query:e(this,a),type:"observerResultsUpdated"})})},bt);function Lt(n,t){return C(t.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&t.retryOnMount===!1)}function ft(n,t){return Lt(n,t)||n.state.data!==void 0&&et(n,t,t.refetchOnMount)}function et(n,t,s){if(C(t.enabled,n)!==!1){const i=typeof s=="function"?s(n):s;return i==="always"||i!==!1&&st(n,t)}return!1}function pt(n,t,s,i){return(n!==t||C(i.enabled,n)===!1)&&(!s.suspense||n.state.status!=="error")&&st(n,s)}function st(n,t){return C(t.enabled,n)!==!1&&n.isStaleByTime(B(t.staleTime,n))}function Mt(n,t){return!G(n.getCurrentResult(),t)}function $t(n=""){if(!Tt())throw new Error("vue-query hooks can only be used inside setup() function or functions that support injection context.");const t=Qt(n),s=Et(t);if(!s)throw new Error("No 'queryClient' found in Vue context, use 'VueQueryPlugin' to properly initialize the library.");return s}function At(n,t,s){const i=$t(),o=mt(()=>{const h=Dt(t);typeof h.enabled=="function"&&(h.enabled=h.enabled());const I=i.defaultQueryOptions(h);return I._optimisticResults=i.isRestoring.value?"isRestoring":"optimistic",I}),r=new n(i,o.value),c=Ft(r.getCurrentResult());let b=()=>{};W(i.isRestoring,h=>{h||(b(),b=r.subscribe(I=>{lt(c,I)}))},{immediate:!0});const g=()=>{r.setOptions(o.value),lt(c,r.getCurrentResult())};W(o,g),Ut(()=>{b()});const R=(...h)=>(g(),c.refetch(...h)),d=()=>new Promise((h,I)=>{let j=()=>{};const S=()=>{if(o.value.enabled!==!1){r.setOptions(o.value);const x=r.getOptimisticResult(o.value);x.isStale?(j(),r.fetchOptimistic(o.value).then(h,P=>{dt(o.value.throwOnError,[P,r.getCurrentQuery()])?I(P):h(r.getCurrentResult())})):(j(),h(x))}};S(),j=W(o,S)});W(()=>c.error,h=>{if(c.isError&&!c.isFetching&&dt(o.value.throwOnError,[h,r.getCurrentQuery()]))throw h});const Q=jt(c);for(const h in c)typeof c[h]=="function"&&(Q[h]=c[h]);return Q.suspense=d,Q.refetch=R,Q}function _t(n,t){return At(Pt,n)}const kt=3;async function Nt(n,t){const s=n.startsWith("/")?n.slice(1):n;let i=`${window.DATA_HOST}${s}`;const o={allInOne:!1};if(i.includes("#")){const d=new URLSearchParams(i.split("#")[1]);o.allInOne=d.get("allInOne")==="true",i=i.split("#")[0]}n.startsWith("http")&&(i=n),i.endsWith("/")&&(i=i.slice(0,-1));const r=d=>d.includes("?")?`${d}&t=${t??0}`:`${d}?t=${t??0}`,c=o.allInOne?[await fetch(r(i))]:[await fetch(r(`${i}/config.json`)),await fetch(r(`${i}/team.json`)),await fetch(r(`${i}/run.json`))],{status:b,statusText:g}=c[0];if(b>=300||b<200)throw new Error(`fetch data failed. [status=${b}] [statusText=${g}]`);return Promise.all(c.map(d=>d.json())).then(d=>o.allInOne?d[0]:{contest:d[0],teams:d[1],submissions:d[2]})}function Gt(n,t,s=!1){let i=3e4,o=i;const r=mt(()=>Math.floor(t.value.getTime()/1e3/10));return xt.value==="I18N"&&(i=10*1e3,o=i),s&&(i=Number.POSITIVE_INFINITY,o=!1),_t({queryKey:[n,r.value],queryFn:()=>Nt(n,r.value),retry:kt,staleTime:i,refetchInterval:o})}function Yt(){return vt("data-source","",{transform:String})}function Ht(){return vt("battle-of-giants","",{transform:String})}export{Ht as a,Yt as g,Gt as u};
@@ -1 +1 @@
1
- import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-Bstp0Uq6.js";import{d as c,p as f,H as _,u as b,o as h,c as v,b as e,k as a,h as s,a as x,z as y,O as g}from"./index-Bqug296L.js";import{u as k}from"./user-DVMgLOCG.js";import{b as l}from"./route-block-B_A1xBdJ.js";import"./use-vmodel-DKmkNt1c.js";const V={flex:"","flex-col":"","justify-center":"","items-center":""},w={"text-sm":"","opacity-75":""},I={"w-48":""},B={class:"hidden",for:"input"},C=["disabled"],N=c({name:"IndexPage",__name:"test",setup(R){const i=k(),o=f(i.savedName),u=_();function r(){o.value&&u.push(`/hi/${encodeURIComponent(o.value)}`)}const{t:n}=b();return(U,t)=>{const d=p;return h(),v("div",V,[t[1]||(t[1]=e("div",{"text-4xl":""},[e("div",{"i-carbon-campsite":""})],-1)),t[2]||(t[2]=e("p",null,[e("a",{rel:"noreferrer",href:"https://github.com/antfu/vitesse",target:"_blank"}," Vitesse ")],-1)),e("p",null,[e("em",w,a(s(n)("intro.desc")),1)]),t[3]||(t[3]=e("div",{"py-4":""},null,-1)),e("div",I,[x(d,{modelValue:s(o),"onUpdate:modelValue":t[0]||(t[0]=m=>y(o)?o.value=m:null),placeholder:s(n)("intro.whats-your-name"),autocomplete:"false",onKeydown:g(r,["enter"])},null,8,["modelValue","placeholder"]),e("label",B,a(s(n)("intro.whats-your-name")),1)]),e("div",null,[e("button",{"m-3":"","text-sm":"",btn:"",disabled:!s(o),onClick:r},a(s(n)("button.go")),9,C)])])}}});typeof l=="function"&&l(N);export{N as default};
1
+ import{_ as p}from"./TheInput.vue_vue_type_script_setup_true_lang-D5spkHqx.js";import{d as c,p as f,H as _,u as b,o as h,c as v,b as e,k as a,h as s,a as x,z as y,O as g}from"./index-CVZtA3I-.js";import{u as k}from"./user-o9hs8HNN.js";import{b as l}from"./route-block-B_A1xBdJ.js";import"./use-vmodel-BKVjZ-1P.js";const V={flex:"","flex-col":"","justify-center":"","items-center":""},w={"text-sm":"","opacity-75":""},I={"w-48":""},B={class:"hidden",for:"input"},C=["disabled"],N=c({name:"IndexPage",__name:"test",setup(R){const i=k(),o=f(i.savedName),u=_();function r(){o.value&&u.push(`/hi/${encodeURIComponent(o.value)}`)}const{t:n}=b();return(U,t)=>{const d=p;return h(),v("div",V,[t[1]||(t[1]=e("div",{"text-4xl":""},[e("div",{"i-carbon-campsite":""})],-1)),t[2]||(t[2]=e("p",null,[e("a",{rel:"noreferrer",href:"https://github.com/antfu/vitesse",target:"_blank"}," Vitesse ")],-1)),e("p",null,[e("em",w,a(s(n)("intro.desc")),1)]),t[3]||(t[3]=e("div",{"py-4":""},null,-1)),e("div",I,[x(d,{modelValue:s(o),"onUpdate:modelValue":t[0]||(t[0]=m=>y(o)?o.value=m:null),placeholder:s(n)("intro.whats-your-name"),autocomplete:"false",onKeydown:g(r,["enter"])},null,8,["modelValue","placeholder"]),e("label",B,a(s(n)("intro.whats-your-name")),1)]),e("div",null,[e("button",{"m-3":"","text-sm":"",btn:"",disabled:!s(o),onClick:r},a(s(n)("button.go")),9,C)])])}}});typeof l=="function"&&l(N);export{N as default};
@@ -1 +1 @@
1
- import{aw as c,ax as r}from"./index-Bqug296L.js";const d=(...p)=>{const s=c().proxy.$props,t=Object.create(null);for(const e of p)if(typeof e=="string")t[e]=r(s,e,void 0,{eventName:`update:${e}`,passive:!0});else{const[o,n=o,a=`update:${o}`,u={}]=e;t[o]=r(s,n,void 0,{eventName:a,passive:!0,...u})}return t};export{d as _};
1
+ import{aw as c,ax as r}from"./index-CVZtA3I-.js";const d=(...p)=>{const s=c().proxy.$props,t=Object.create(null);for(const e of p)if(typeof e=="string")t[e]=r(s,e,void 0,{eventName:`update:${e}`,passive:!0});else{const[o,n=o,a=`update:${o}`,u={}]=e;t[o]=r(s,n,void 0,{eventName:a,passive:!0,...u})}return t};export{d as _};
@@ -1 +1 @@
1
- import{au as m,p as r,g as t}from"./index-Bqug296L.js";const l=m("user",()=>{const e=r(""),s=r(new Set),u=t(()=>Array.from(s.value)),o=t(()=>u.value.filter(a=>a!==e.value));function n(a){e.value&&s.value.add(e.value),e.value=a}return{setNewName:n,otherNames:o,savedName:e}});export{l as u};
1
+ import{au as m,p as r,g as t}from"./index-CVZtA3I-.js";const l=m("user",()=>{const e=r(""),s=r(new Set),u=t(()=>Array.from(s.value)),o=t(()=>u.value.filter(a=>a!==e.value));function n(a){e.value&&s.value.add(e.value),e.value=a}return{setNewName:n,otherNames:o,savedName:e}});export{l as u};
@@ -1 +1 @@
1
- import{_ as u}from"./index-Bqug296L.js";function _(c={}){const{immediate:o=!1,onNeedRefresh:p,onOfflineReady:a,onRegistered:r,onRegisteredSW:s,onRegisterError:t}=c;let i,n;const d=async(e=!0)=>{await n};async function l(){if("serviceWorker"in navigator){if(i=await u(async()=>{const{Workbox:e}=await import("./workbox-window.prod.es5-D5gOYdM7.js");return{Workbox:e}},[],import.meta.url).then(({Workbox:e})=>new e("/sw.js",{scope:"/",type:"classic"})).catch(e=>{t==null||t(e)}),!i)return;i.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&window.location.reload()}),i.addEventListener("installed",e=>{e.isUpdate||a==null||a()}),i.register({immediate:o}).then(e=>{s?s("/sw.js",e):r==null||r(e)}).catch(e=>{t==null||t(e)})}}return n=l(),d}export{_ as registerSW};
1
+ import{_ as u}from"./index-CVZtA3I-.js";function _(c={}){const{immediate:o=!1,onNeedRefresh:p,onOfflineReady:a,onRegistered:r,onRegisteredSW:s,onRegisterError:t}=c;let i,n;const d=async(e=!0)=>{await n};async function l(){if("serviceWorker"in navigator){if(i=await u(async()=>{const{Workbox:e}=await import("./workbox-window.prod.es5-D5gOYdM7.js");return{Workbox:e}},[],import.meta.url).then(({Workbox:e})=>new e("/sw.js",{scope:"/",type:"classic"})).catch(e=>{t==null||t(e)}),!i)return;i.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&window.location.reload()}),i.addEventListener("installed",e=>{e.isUpdate||a==null||a()}),i.register({immediate:o}).then(e=>{s?s("/sw.js",e):r==null||r(e)}).catch(e=>{t==null||t(e)})}}return n=l(),d}export{_ as registerSW};
package/dist/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="UTF-8"><link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.0/dist/balloon-192x192.png"><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.0/dist/balloon-512x512.svg" color="#00aba9"><meta name="msapplication-TileColor" content="#00aba9"><script>function normalizePath(_){for(;_.endsWith("/");)_=_.slice(0,-1);return`${_}/`}{let _="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.0/dist";_=normalizePath(_),window.CDN_HOST=_}try{let _=__DATA_HOST__;_=normalizePath(_),window.DATA_HOST=_}catch(_){window.DATA_HOST="/data/"}try{let _=__DATA_REGION__;window.DATA_REGION=_}catch(_){window.DATA_REGION="CN"}try{let _=__DEFAULT_LANG__;window.DEFAULT_LANG=_}catch(_){window.DEFAULT_LANG="en"}</script><script>!function(){localStorage.getItem("vueuse-color-scheme")||localStorage.setItem("vueuse-color-scheme","light");const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,o=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===o||e&&"light"!==o)&&document.documentElement.classList.toggle("dark",!0)}()</script><script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.0/dist/assets/index-Bqug296L.js"></script><link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.0/dist/assets/index-Ci3FURub.css"><link rel="manifest" href="/manifest.webmanifest"></head><body class="font-sans"><div id="app"></div><noscript>This website requires JavaScript to function properly. Please enable JavaScript to continue.</noscript><script>try{var umamiJSUrl=__UMAMI_JS_URL__,umamiWebsiteId=__UMAMI_WEBSITE_ID__;!function(){var e=document.createElement("script");e.src=umamiJSUrl,e.defer=!0,e.setAttribute("data-website-id",umamiWebsiteId);var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var plausibleJSUrl=__PLAUSIBLE_JS_URL__,plausibleDataDomain=__PLAUSIBLE_DATA_DOMAIN__;!function(){var e=document.createElement("script");e.src=plausibleJSUrl,e.defer=!0,e.setAttribute("data-domain",plausibleDataDomain);var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var baiduAnalyticsId=__BAIDU_ANALYTICS_ID__,_hmt=_hmt||[];!function(){var e=document.createElement("script");e.src=`https://hm.baidu.com/hm.js?${baiduAnalyticsId}`;var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var googleAnalyticsId=__GOOGLE_ANALYTICS_ID__;!function(){var e,t,a,r,c,n;location.port||(e=window,t=document,a="script",r="ga",e.GoogleAnalyticsObject=r,e[r]=e[r]||function(){(e[r].q=e[r].q||[]).push(arguments)},e[r].l=1*new Date,c=t.createElement(a),n=t.getElementsByTagName(a)[0],c.async=1,c.src="//www.google-analytics.com/analytics.js",n.parentNode.insertBefore(c,n),ga("create",`${googleAnalyticsId}`,"auto"),ga("send","pageview"))}()}catch(e){}</script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"><link rel="apple-touch-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.2/dist/balloon-192x192.png"><link rel="mask-icon" href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.2/dist/balloon-512x512.svg" color="#00aba9"><meta name="msapplication-TileColor" content="#00aba9"><script>function normalizePath(_){for(;_.endsWith("/");)_=_.slice(0,-1);return`${_}/`}{let _="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.2/dist";_=normalizePath(_),window.CDN_HOST=_,window.__toAssetUrl=_=>window.CDN_HOST+_}try{let _=__DATA_HOST__;_=normalizePath(_),window.DATA_HOST=_}catch(_){window.DATA_HOST="/data/"}try{let _=__DATA_REGION__;window.DATA_REGION=_}catch(_){window.DATA_REGION="CN"}try{let _=__DEFAULT_LANG__;window.DEFAULT_LANG=_}catch(_){window.DEFAULT_LANG="en"}</script><script>!function(){localStorage.getItem("vueuse-color-scheme")||localStorage.setItem("vueuse-color-scheme","light");const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,o=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===o||e&&"light"!==o)&&document.documentElement.classList.toggle("dark",!0)}()</script><script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.2/dist/assets/index-CVZtA3I-.js"></script><link rel="stylesheet" crossorigin href="https://cdn.jsdelivr.net/npm/@xcpcio/board-app@0.53.2/dist/assets/index-BjCWriHl.css"><link rel="manifest" href="/manifest.webmanifest"></head><body class="font-sans"><div id="app"></div><noscript>This website requires JavaScript to function properly. Please enable JavaScript to continue.</noscript><script>try{var umamiJSUrl=__UMAMI_JS_URL__,umamiWebsiteId=__UMAMI_WEBSITE_ID__;!function(){var e=document.createElement("script");e.src=umamiJSUrl,e.defer=!0,e.setAttribute("data-website-id",umamiWebsiteId);var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var plausibleJSUrl=__PLAUSIBLE_JS_URL__,plausibleDataDomain=__PLAUSIBLE_DATA_DOMAIN__;!function(){var e=document.createElement("script");e.src=plausibleJSUrl,e.defer=!0,e.setAttribute("data-domain",plausibleDataDomain);var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var baiduAnalyticsId=__BAIDU_ANALYTICS_ID__,_hmt=_hmt||[];!function(){var e=document.createElement("script");e.src=`https://hm.baidu.com/hm.js?${baiduAnalyticsId}`;var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()}catch(e){}try{var googleAnalyticsId=__GOOGLE_ANALYTICS_ID__;!function(){var e,t,a,r,c,n;location.port||(e=window,t=document,a="script",r="ga",e.GoogleAnalyticsObject=r,e[r]=e[r]||function(){(e[r].q=e[r].q||[]).push(arguments)},e[r].l=1*new Date,c=t.createElement(a),n=t.getElementsByTagName(a)[0],c.async=1,c.src="//www.google-analytics.com/analytics.js",n.parentNode.insertBefore(c,n),ga("create",`${googleAnalyticsId}`,"auto"),ga("send","pageview"))}()}catch(e){}</script></body></html>
package/dist/sw.js CHANGED
@@ -1 +1 @@
1
- if(!self.define){let s,e={};const l=(l,n)=>(l=new URL(l+".js",n).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(n,i)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let u={};const t=s=>l(s,r),o={module:{uri:r},exports:u,require:t};e[r]=Promise.all(n.map((s=>o[s]||t(s)))).then((s=>(i(...s),u)))}}define(["./workbox-86deb690"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/_..-8Wh-Y8sB.css",revision:null},{url:"assets/_...all_-CajB1u6j.js",revision:null},{url:"assets/_...all_-DkFLHLY4.js",revision:null},{url:"assets/_name_-CKcXFscu.js",revision:null},{url:"assets/_plugin-vue_export-helper-DlAUqK2U.js",revision:null},{url:"assets/about-Bt1E61e1.js",revision:null},{url:"assets/Board--Fj0eIxn.css",revision:null},{url:"assets/board-BuZxK-RS.js",revision:null},{url:"assets/Board-DVycq7Hb.js",revision:null},{url:"assets/board-layout-BDGSSQnD.js",revision:null},{url:"assets/constant-D5AETBoS.js",revision:null},{url:"assets/ContestStateBadge-SaSIRVZw.js",revision:null},{url:"assets/ContestStateBadge-yOXRkC0c.css",revision:null},{url:"assets/DataSourceInput.vue_vue_type_script_setup_true_lang-ButnX5NG.js",revision:null},{url:"assets/default-g2FZdb_E.js",revision:null},{url:"assets/en-DDlXf_8q.js",revision:null},{url:"assets/Footer.vue_vue_type_script_setup_true_lang-DtriOyxw.js",revision:null},{url:"assets/headless-AGI21K3d.js",revision:null},{url:"assets/home-CIo2SGx9.js",revision:null},{url:"assets/index-B0AiC33S.js",revision:null},{url:"assets/index-BerApwlM.css",revision:null},{url:"assets/index-BJlHNlHk.js",revision:null},{url:"assets/index-BP90wE2A.css",revision:null},{url:"assets/index-Bqug296L.js",revision:null},{url:"assets/index-BVqqkkh8.js",revision:null},{url:"assets/index-ByBDbX-Q.js",revision:null},{url:"assets/index-CDb5YJlm.js",revision:null},{url:"assets/index-Ci3FURub.css",revision:null},{url:"assets/index-CsD1PvIl.js",revision:null},{url:"assets/index-De6dfmWB.css",revision:null},{url:"assets/index-DRiWpQTB.css",revision:null},{url:"assets/index-DtIE9gnq.js",revision:null},{url:"assets/index-eEOWm26O.js",revision:null},{url:"assets/index-layout-B9ZsHAPN.js",revision:null},{url:"assets/NavBar-CTO09sVc.js",revision:null},{url:"assets/NavBar-K1-1c5jR.css",revision:null},{url:"assets/pagination-SF0231GF.js",revision:null},{url:"assets/RightArrowIcon-93I3m1Dg.js",revision:null},{url:"assets/route-block-B_A1xBdJ.js",revision:null},{url:"assets/test-BmgsMNrG.js",revision:null},{url:"assets/TheInput.vue_vue_type_script_setup_true_lang-Bstp0Uq6.js",revision:null},{url:"assets/Tooltip-VVqtpO6L.css",revision:null},{url:"assets/Tooltip.vue_vue_type_script_setup_true_lang-IVJ6kO8Y.js",revision:null},{url:"assets/use-vmodel-DKmkNt1c.js",revision:null},{url:"assets/useQueryBoardData-MYqwKv9X.js",revision:null},{url:"assets/user-DVMgLOCG.js",revision:null},{url:"assets/virtual_pwa-register-G08q8i_v.js",revision:null},{url:"assets/workbox-window.prod.es5-D5gOYdM7.js",revision:null},{url:"assets/zh-CN-CNJkghp4.js",revision:null},{url:"index.html",revision:"d01af31ce7e3e46b2ddcaf54b5668aa1"},{url:"balloon2-192x192.png",revision:"c857ae6d9dfae118ab4397d4358422bd"},{url:"balloon2-512x512.png",revision:"065594f4f743fe3884793c03d3fe7d9e"},{url:"favicon.svg",revision:"5a744f4ccbb122d4a0575be779ddcd43"},{url:"safari-pinned-tab.svg",revision:"5eaf74d1c43d30e0af743b68a3f48504"},{url:"manifest.webmanifest",revision:"3082e8d8ebc9619c6c1055ff243a02a8"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
1
+ if(!self.define){let s,e={};const l=(l,n)=>(l=new URL(l+".js",n).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(n,r)=>{const i=s||("document"in self?document.currentScript.src:"")||location.href;if(e[i])return;let u={};const t=s=>l(s,i),o={module:{uri:i},exports:u,require:t};e[i]=Promise.all(n.map((s=>o[s]||t(s)))).then((s=>(r(...s),u)))}}define(["./workbox-86deb690"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/_..-8Wh-Y8sB.css",revision:null},{url:"assets/_...all_-BSvAEkM-.js",revision:null},{url:"assets/_...all_-DmfbP4Ao.js",revision:null},{url:"assets/_name_-AmLA_ZW6.js",revision:null},{url:"assets/_plugin-vue_export-helper-DlAUqK2U.js",revision:null},{url:"assets/about-tPNAra1j.js",revision:null},{url:"assets/Balloon.vue_vue_type_script_setup_true_lang-CNaNh1cd.js",revision:null},{url:"assets/Board-_AOcbImO.css",revision:null},{url:"assets/board-D0VTebOf.js",revision:null},{url:"assets/Board-D7W2MZ4t.js",revision:null},{url:"assets/board-layout-C2v-fo1W.js",revision:null},{url:"assets/constant-b2ZZlr_Y.js",revision:null},{url:"assets/ContestStateBadge-fTJw-IjF.js",revision:null},{url:"assets/ContestStateBadge-yOXRkC0c.css",revision:null},{url:"assets/Countdown-1A-2QJ7m.js",revision:null},{url:"assets/Countdown-De6dfmWB.css",revision:null},{url:"assets/DataSourceInput.vue_vue_type_script_setup_true_lang-CXts-riZ.js",revision:null},{url:"assets/default-D4907N0j.js",revision:null},{url:"assets/en-DDlXf_8q.js",revision:null},{url:"assets/Footer.vue_vue_type_script_setup_true_lang-Bk0nFBfB.js",revision:null},{url:"assets/headless-C_cFBCtG.js",revision:null},{url:"assets/home-CRZ6rGwZ.js",revision:null},{url:"assets/index-BerApwlM.css",revision:null},{url:"assets/index-BjCWriHl.css",revision:null},{url:"assets/index-BnOiKE-V.js",revision:null},{url:"assets/index-BP90wE2A.css",revision:null},{url:"assets/index-Bvki346r.js",revision:null},{url:"assets/index-ClcpF-3G.js",revision:null},{url:"assets/index-cu4LZbd6.js",revision:null},{url:"assets/index-CVZtA3I-.js",revision:null},{url:"assets/index-D5Eq7tNN.js",revision:null},{url:"assets/index-Dar9HUtt.js",revision:null},{url:"assets/index-DQYGiW5A.js",revision:null},{url:"assets/index-layout-Bp7ERlAB.js",revision:null},{url:"assets/index-XjAdtRAz.js",revision:null},{url:"assets/NavBar-C6sQ5txU.js",revision:null},{url:"assets/NavBar-K1-1c5jR.css",revision:null},{url:"assets/pagination-CHOfWwrE.js",revision:null},{url:"assets/query-C-pLpLZb.js",revision:null},{url:"assets/Resolver-A6qSPE_R.js",revision:null},{url:"assets/Resolver-DRiWpQTB.css",revision:null},{url:"assets/RightArrowIcon-ClOVVo1B.js",revision:null},{url:"assets/route-block-B_A1xBdJ.js",revision:null},{url:"assets/test-Bw2mUsPy.js",revision:null},{url:"assets/TheInput.vue_vue_type_script_setup_true_lang-D5spkHqx.js",revision:null},{url:"assets/Tooltip-VVqtpO6L.css",revision:null},{url:"assets/Tooltip.vue_vue_type_script_setup_true_lang-FgOX36Lq.js",revision:null},{url:"assets/use-vmodel-BKVjZ-1P.js",revision:null},{url:"assets/user-o9hs8HNN.js",revision:null},{url:"assets/virtual_pwa-register-8shrxAmh.js",revision:null},{url:"assets/workbox-window.prod.es5-D5gOYdM7.js",revision:null},{url:"assets/zh-CN-CNJkghp4.js",revision:null},{url:"index.html",revision:"cec084a37d5583416ca750c439bd4224"},{url:"balloon2-192x192.png",revision:"c857ae6d9dfae118ab4397d4358422bd"},{url:"balloon2-512x512.png",revision:"065594f4f743fe3884793c03d3fe7d9e"},{url:"favicon.svg",revision:"5a744f4ccbb122d4a0575be779ddcd43"},{url:"safari-pinned-tab.svg",revision:"5eaf74d1c43d30e0af743b68a3f48504"},{url:"manifest.webmanifest",revision:"3082e8d8ebc9619c6c1055ff243a02a8"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xcpcio/board-app",
3
3
  "type": "module",
4
- "version": "0.53.0",
4
+ "version": "0.53.2",
5
5
  "description": "XCPCIO Board App",
6
6
  "author": "Dup4 <lyuzhi.pan@gmail.com>",
7
7
  "license": "MIT",
@@ -54,8 +54,8 @@
54
54
  "vue-router": "^4.4.5",
55
55
  "vue-search-select": "^3.2.0",
56
56
  "vue-toast-notification": "^3.1.3",
57
- "@xcpcio/core": "0.53.0",
58
- "@xcpcio/types": "0.53.0"
57
+ "@xcpcio/core": "0.53.2",
58
+ "@xcpcio/types": "0.53.2"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@antfu/eslint-config": "^3.7.3",
@@ -5,9 +5,10 @@ import { useRouteQuery } from "@vueuse/router";
5
5
 
6
6
  import { createContest, createSubmissions, createTeams, getImageSource, getTimeDiff, Rank, RankOptions } from "@xcpcio/core";
7
7
  import { ContestState, type Contest as IContest, type Submissions as ISubmissions, type Teams as ITeams } from "@xcpcio/types";
8
- import _ from "lodash";
9
8
 
9
+ import _ from "lodash";
10
10
  import type { Item } from "~/components/board/SecondLevelMenu.vue";
11
+
11
12
  import { TITLE_SUFFIX } from "~/composables/constant";
12
13
 
13
14
  const props = defineProps<{
@@ -28,6 +29,10 @@ const rankOptions = ref(new RankOptions());
28
29
 
29
30
  const enableAutoScroll = ref(false);
30
31
 
32
+ function fixPath(path: string) {
33
+ return path.replaceAll("%2F", "/");
34
+ }
35
+
31
36
  (() => {
32
37
  const filterOrganizations = useLocalStorageForFilterOrganizations();
33
38
  const filterTeams = useLocalStorageForFilterTeams();
@@ -61,8 +66,8 @@ function onChangeCurrentGroup(nextGroup: string) {
61
66
  }
62
67
  (() => {
63
68
  const currentGroupFromRouteQuery = useRouteQuery(
64
- "group",
65
- "all",
69
+ /* name */ "group",
70
+ /* defaultValue */ "all",
66
71
  { transform: String },
67
72
  );
68
73
 
@@ -94,7 +99,7 @@ function reBuildRank(options = { force: false }) {
94
99
  isReBuildRank.value = false;
95
100
  }
96
101
 
97
- const { data, isError, error, refetch } = useQueryBoardData(props.dataSourceUrl ?? route.path, now);
102
+ const { data, isError, error, refetch } = useQueryBoardData(props.dataSourceUrl ?? fixPath(route.path), now);
98
103
  watch(data, async () => {
99
104
  if (data.value === null || data.value === undefined) {
100
105
  return;
@@ -353,7 +358,7 @@ const widthClass = "sm:w-[1260px] xl:w-screen";
353
358
  >
354
359
  <div class="max-w-[92%]">
355
360
  <img
356
- :src="getImageSource(rank.contest.banner, `${DATA_HOST}${route.path.slice(1)}`)"
361
+ :src="getImageSource(rank.contest.banner, `${DATA_HOST}${fixPath(route.path).slice(1)}`)"
357
362
  alt="banner"
358
363
  >
359
364
  </div>
@@ -287,19 +287,19 @@ td.o00 {
287
287
  }
288
288
 
289
289
  td.stand00 {
290
- background-color: #e0e0ff;
290
+ background-color: var(--theme-standings-00);
291
291
  }
292
292
 
293
293
  td.stand01 {
294
- background-color: #e8e8ff;
294
+ background-color: var(--theme-standings-01);
295
295
  }
296
296
 
297
297
  td.stand10 {
298
- background-color: #f8f8f8;
298
+ background-color: var(--theme-standings-10);
299
299
  }
300
300
 
301
301
  td.stand11 {
302
- background-color: #f2f2f2;
302
+ background-color: var(--theme-standings-11);
303
303
  }
304
304
 
305
305
  // another style
@@ -1,19 +1,34 @@
1
1
  <script setup lang="ts">
2
+ import { useRouteQuery } from "@vueuse/router";
3
+
2
4
  const { t } = useI18n();
3
5
 
4
6
  const route = useRoute();
5
7
  const router = useRouter();
8
+ const component = useRouteQuery("component", "board", { transform: String });
6
9
 
7
10
  function goResolver() {
8
- router.push(`/resolver/?data-source=${route.path}`);
11
+ if (window.DATA_SOURCE) {
12
+ component.value = "resolver";
13
+ } else {
14
+ router.push(`/resolver/?data-source=${route.path}`);
15
+ }
9
16
  }
10
17
 
11
18
  function goBalloon() {
12
- router.push(`/balloon/?data-source=${route.path}`);
19
+ if (window.DATA_SOURCE) {
20
+ component.value = "balloon";
21
+ } else {
22
+ router.push(`/balloon/?data-source=${route.path}`);
23
+ }
13
24
  }
14
25
 
15
26
  function goCountdown() {
16
- router.push(`/countdown/?data-source=${route.path}`);
27
+ if (window.DATA_SOURCE) {
28
+ component.value = "countdown";
29
+ } else {
30
+ router.push(`/countdown/?data-source=${route.path}`);
31
+ }
17
32
  }
18
33
  </script>
19
34
 
@@ -13,6 +13,14 @@ export interface BoardData {
13
13
  async function fetcher(target: string, timestamp?: number): Promise<BoardData> {
14
14
  const endpoint = target.startsWith("/") ? target.slice(1) : target;
15
15
  let prefix = `${window.DATA_HOST}${endpoint}`;
16
+ const options = {
17
+ allInOne: false,
18
+ };
19
+ if (prefix.includes("#")) {
20
+ const params = new URLSearchParams(prefix.split("#")[1]);
21
+ options.allInOne = params.get("allInOne") === "true";
22
+ prefix = prefix.split("#")[0];
23
+ }
16
24
 
17
25
  if (target.startsWith("http")) {
18
26
  prefix = target;
@@ -22,25 +30,31 @@ async function fetcher(target: string, timestamp?: number): Promise<BoardData> {
22
30
  prefix = prefix.slice(0, -1);
23
31
  }
24
32
 
25
- const contestResp = await fetch(`${prefix}/config.json?t=${timestamp ?? 0}`);
26
- const teamsResp = await fetch(`${prefix}/team.json?t=${timestamp ?? 0}`);
27
- const submissionsResp = await fetch(`${prefix}/run.json?t=${timestamp ?? 0}`);
33
+ const addTimestamp = (url: string) => {
34
+ return url.includes("?") ? `${url}&t=${timestamp ?? 0}` : `${url}?t=${timestamp ?? 0}`;
35
+ };
36
+
37
+ const res = options.allInOne
38
+ ? [await fetch(addTimestamp(prefix))]
39
+ : [
40
+ await fetch(addTimestamp(`${prefix}/config.json`)),
41
+ await fetch(addTimestamp(`${prefix}/team.json`)),
42
+ await fetch(addTimestamp(`${prefix}/run.json`)),
43
+ ];
28
44
 
29
- const { status, statusText } = contestResp;
45
+ const { status, statusText } = res[0];
30
46
  if (status >= 300 || status < 200) {
31
47
  throw new Error(`fetch data failed. [status=${status}] [statusText=${statusText}]`);
32
48
  }
33
49
 
34
- const p = Promise.all([
35
- contestResp.json(),
36
- teamsResp.json(),
37
- submissionsResp.json(),
38
- ]).then((res) => {
39
- return {
40
- contest: res[0],
41
- teams: res[1],
42
- submissions: res[2],
43
- };
50
+ const p = Promise.all(res.map(r => r.json())).then((res) => {
51
+ return options.allInOne
52
+ ? res[0]
53
+ : {
54
+ contest: res[0],
55
+ teams: res[1],
56
+ submissions: res[2],
57
+ };
44
58
  });
45
59
 
46
60
  return p;
@@ -1,4 +1,6 @@
1
1
  <script setup lang="ts">
2
+ import { useRouteQuery } from "@vueuse/router";
3
+
2
4
  const { t } = useI18n();
3
5
  const route = useRoute();
4
6
 
@@ -10,13 +12,22 @@ const contestTypes = [
10
12
  ];
11
13
 
12
14
  const isNotFound = !contestTypes.some(c => route.fullPath.startsWith(`/${c}`));
15
+ const component = useRouteQuery(
16
+ "component",
17
+ "board",
18
+ { transform: String },
19
+ );
20
+ const dataSource = window.DATA_SOURCE;
13
21
  </script>
14
22
 
15
23
  <template>
16
- <div
17
- v-if="isNotFound"
18
- class="flex flex-col items-center"
19
- >
24
+ <div v-if="dataSource">
25
+ <Board v-if="component === 'board'" :data-source-url="dataSource" />
26
+ <Resolver v-else-if="component === 'resolver'" :data-source-url="dataSource" />
27
+ <Balloon v-else-if="component === 'balloon'" :data-source-url="dataSource" />
28
+ <Countdown v-else-if="component === 'countdown'" :data-source-url="dataSource" />
29
+ </div>
30
+ <div v-else-if="isNotFound" class="flex flex-col items-center">
20
31
  <div text-4xl>
21
32
  <div i-carbon-warning />
22
33
  </div>
package/src/shims.d.ts CHANGED
@@ -3,6 +3,7 @@ declare interface Window {
3
3
  DATA_HOST: string;
4
4
  DATA_REGION: string;
5
5
  DEFAULT_LANG: string;
6
+ DATA_SOURCE?: string;
6
7
  }
7
8
 
8
9
  // with vite-plugin-vue-markdown, markdown files can be treated as Vue components
@@ -35,6 +35,11 @@ html {
35
35
  --theme-resolver-selected: #406b82;
36
36
  --theme-resolver-bg-0: #3e3e3e;
37
37
  --theme-resolver-bg-1: #030712;
38
+
39
+ --theme-standings-00: #e0e0ff;
40
+ --theme-standings-01: #e8e8ff;
41
+ --theme-standings-10: #f8f8f8;
42
+ --theme-standings-11: #f2f2f2;
38
43
  }
39
44
 
40
45
  html.dark {
@@ -66,4 +71,9 @@ html.dark {
66
71
  --theme-standings-correct: #e1ffb5;
67
72
  --theme-standings-incorrect: #ffd0d0;
68
73
  --theme-standings-pending: #c8d6fa;
74
+
75
+ --theme-standings-00: #e0e0ff;
76
+ --theme-standings-01: #e8e8ff;
77
+ --theme-standings-10: #f8f8f8;
78
+ --theme-standings-11: #f2f2f2;
69
79
  }
package/vite.config.ts CHANGED
@@ -18,8 +18,6 @@ import Layouts from "vite-plugin-vue-layouts";
18
18
  import WebfontDownload from "vite-plugin-webfont-dl";
19
19
  import generateSitemap from "vite-ssg-sitemap";
20
20
 
21
- import packageJSON from "./package.json";
22
-
23
21
  const proxyConfig = {
24
22
  // target: "https://board.xcpcio.com",
25
23
  target: "http://127.0.0.1:8080",
@@ -199,12 +197,14 @@ export default defineConfig({
199
197
  },
200
198
 
201
199
  experimental: {
202
- // eslint-disable-next-line unused-imports/no-unused-vars
203
- renderBuiltUrl(filename: string, { hostType }: { hostType: "js" | "css" | "html" }) {
204
- // eslint-disable-next-line node/prefer-global/process
205
- if (process.env.BUILD_MODE === "npm_publish") {
206
- const tag = packageJSON.version;
207
- return `https://cdn.jsdelivr.net/npm/@xcpcio/board-app@${tag}/dist/${filename}`;
200
+ renderBuiltUrl(filename: string, { hostType, type }: { hostId: string; hostType: "js" | "css" | "html"; type: "public" | "asset" }) {
201
+ if (type === "public") {
202
+ return `__CDN_HOST__/${filename}`;
203
+ }
204
+ if (hostType === "js") {
205
+ return {
206
+ runtime: `window.__toAssetUrl(${JSON.stringify(filename)})`,
207
+ };
208
208
  }
209
209
 
210
210
  return `__CDN_HOST__/${filename}`;
@@ -1 +0,0 @@
1
- .list-enter-active[data-v-2db6a8b3]{transition:all 2s ease}.list-leave-active[data-v-2db6a8b3]{transition:all .75s ease}.list-enter-from[data-v-2db6a8b3],.list-leave-to[data-v-2db6a8b3]{opacity:0;transform:translate(-30px)}.item[data-vss-custom-attr=PENDING]{color:var(--theme-status-pending)!important}.item[data-vss-custom-attr=WAITING]{color:var(--theme-status-waiting)!important}.item[data-vss-custom-attr=PREPARING]{color:var(--theme-status-preparing)!important}.item[data-vss-custom-attr=COMPILING]{color:var(--theme-status-compiling)!important}.item[data-vss-custom-attr=RUNNING],.item[data-vss-custom-attr=JUDGING]{color:var(--theme-status-running)!important}.item[data-vss-custom-attr=FROZEN]{color:var(--theme-status-pending)!important}.item[data-vss-custom-attr=ACCEPTED],.item[data-vss-custom-attr=CORRECT]{color:var(--theme-status-accepted)!important}.item[data-vss-custom-attr=PARTIALLY_CORRECT]{color:var(--theme-status-partially-correct)!important}.item[data-vss-custom-attr=REJECTED],.item[data-vss-custom-attr=WRONG_ANSWER],.item[data-vss-custom-attr=NO_OUTPUT]{color:var(--theme-status-wrong-answer)!important}.item[data-vss-custom-attr=COMPILATION_ERROR],.item[data-vss-custom-attr=PRESENTATION_ERROR]{color:var(--theme-status-compilation-error)!important}.item[data-vss-custom-attr=RUNTIME_ERROR]{color:var(--theme-status-runtime-error)!important}.item[data-vss-custom-attr=TIME_LIMIT_EXCEEDED]{color:var(--theme-status-time-limit-exceeded)!important}.item[data-vss-custom-attr=MEMORY_LIMIT_EXCEEDED]{color:var(--theme-status-memory-limit-exceeded)!important}.item[data-vss-custom-attr=OUTPUT_LIMIT_EXCEEDED],.item[data-vss-custom-attr=IDLENESS_LIMIT_EXCEEDED]{color:var(--theme-status-output-limit-exceeded)!important}.item[data-vss-custom-attr=HACKED]{color:var(--theme-status-wrong-answer)!important}.item[data-vss-custom-attr=JUDGEMENT_FAILED]{color:var(--theme-status-judgement-failed)!important}.item[data-vss-custom-attr=CONFIGURATION_ERROR]{color:var(--theme-status-configuration-error)!important}.item[data-vss-custom-attr=FILE_ERROR]{color:var(--theme-status-file-error)!important}.item[data-vss-custom-attr=SYSTEM_ERROR]{color:var(--theme-status-system-error)!important}.item[data-vss-custom-attr=CANCELED]{color:var(--theme-status-canceled)!important}.item[data-vss-custom-attr=SKIPPED]{color:var(--theme-status-skipped)!important}.item[data-vss-custom-attr=SECURITY_VIOLATED],.item[data-vss-custom-attr=DENIAL_OF_JUDGEMENT]{color:var(--theme-status-judgement-failed)!important}.item[data-vss-custom-attr=UNKNOWN]{color:var(--theme-status-unknown)!important}.item[data-vss-custom-attr=UNDEFINED]{color:var(--theme-status-undefined)!important}.PENDING[data-v-cef293c5]{color:var(--theme-status-pending)}.WAITING[data-v-cef293c5]{color:var(--theme-status-waiting)}.PREPARING[data-v-cef293c5]{color:var(--theme-status-preparing)}.COMPILING[data-v-cef293c5]{color:var(--theme-status-compiling)}.RUNNING[data-v-cef293c5],.JUDGING[data-v-cef293c5]{color:var(--theme-status-running)}.FROZEN[data-v-cef293c5]{color:var(--theme-status-pending)}.ACCEPTED[data-v-cef293c5],.CORRECT[data-v-cef293c5]{color:var(--theme-status-accepted)}.PARTIALLY_CORRECT[data-v-cef293c5]{color:var(--theme-status-partially-correct)}.REJECTED[data-v-cef293c5],.WRONG_ANSWER[data-v-cef293c5],.NO_OUTPUT[data-v-cef293c5]{color:var(--theme-status-wrong-answer)}.COMPILATION_ERROR[data-v-cef293c5],.PRESENTATION_ERROR[data-v-cef293c5]{color:var(--theme-status-compilation-error)}.RUNTIME_ERROR[data-v-cef293c5]{color:var(--theme-status-runtime-error)}.TIME_LIMIT_EXCEEDED[data-v-cef293c5]{color:var(--theme-status-time-limit-exceeded)}.MEMORY_LIMIT_EXCEEDED[data-v-cef293c5]{color:var(--theme-status-memory-limit-exceeded)}.OUTPUT_LIMIT_EXCEEDED[data-v-cef293c5],.IDLENESS_LIMIT_EXCEEDED[data-v-cef293c5]{color:var(--theme-status-output-limit-exceeded)}.HACKED[data-v-cef293c5]{color:var(--theme-status-wrong-answer)}.JUDGEMENT_FAILED[data-v-cef293c5]{color:var(--theme-status-judgement-failed)}.CONFIGURATION_ERROR[data-v-cef293c5]{color:var(--theme-status-configuration-error)}.FILE_ERROR[data-v-cef293c5]{color:var(--theme-status-file-error)}.SYSTEM_ERROR[data-v-cef293c5]{color:var(--theme-status-system-error)}.CANCELED[data-v-cef293c5]{color:var(--theme-status-canceled)}.SKIPPED[data-v-cef293c5]{color:var(--theme-status-skipped)}.SECURITY_VIOLATED[data-v-cef293c5],.DENIAL_OF_JUDGEMENT[data-v-cef293c5]{color:var(--theme-status-judgement-failed)}.UNKNOWN[data-v-cef293c5]{color:var(--theme-status-unknown)}.UNDEFINED[data-v-cef293c5]{color:var(--theme-status-undefined)}table.standings[data-v-198c3ef3]{text-align:center;border:none;margin:0;padding:0}.loading[data-v-198c3ef3]{display:flex;align-items:center;justify-content:center;height:80vh}img[data-v-198c3ef3]{border:0!important}table[data-v-198c3ef3]{border-collapse:separate!important}td[data-v-198c3ef3]{box-sizing:content-box!important;padding:1px!important}tr.head[data-v-198c3ef3]{background-color:#eee}tr.team[data-v-198c3ef3]{height:2.5em}.hover[data-v-198c3ef3]{cursor:pointer}td.stnd[data-v-198c3ef3]{font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}.dark td.stnd[data-v-198c3ef3]{border-color:#fff}td.stndact[data-v-198c3ef3]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.frost[data-v-198c3ef3]{background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.gold[data-v-198c3ef3]{background-color:#fff566;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.goldact[data-v-198c3ef3]{color:#00f;background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.silver[data-v-198c3ef3]{background-color:#ffadd2;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.silveract[data-v-198c3ef3]{color:#00f;background-color:#aaa;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.bronze[data-v-198c3ef3]{background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.bronzeact[data-v-198c3ef3]{color:#00f;background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.unofficial[data-v-198c3ef3]{background-color:#fff;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.honorable[data-v-198c3ef3]{background-color:#e6f7ff;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.first-solve[data-v-198c3ef3]{background-color:#3db03d;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.incorrect[data-v-198c3ef3]{background-color:#ffd0d0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.correct[data-v-198c3ef3]{background-color:#e1ffb5;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.unattempted[data-v-198c3ef3]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}.dark td.unattempted[data-v-198c3ef3]{color:#fff}th.success[data-v-198c3ef3]{background-color:#a0f0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.title[data-v-198c3ef3],td.title[data-v-198c3ef3]{background-color:#f5f5d5;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.tried[data-v-198c3ef3]{background-color:#ffa0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.pending[data-v-198c3ef3]{background-color:#c8d6fa;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.upsolved[data-v-198c3ef3]{font-size:12px;border-width:0px;border-color:#000;margin:1px;color:red}td.virtual[data-v-198c3ef3]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.alive[data-v-198c3ef3]{color:red;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.empty[data-v-198c3ef3]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}th.stnd[data-v-198c3ef3]{font-size:12px;border-width:0px;border-color:#000;margin:1px}td.o01[data-v-198c3ef3]{background-color:#004080}tr.solver[data-v-198c3ef3]{background-color:#f0c0a0}tr.statistics-0[data-v-198c3ef3]{background-color:#95de64}tr.statistics-1[data-v-198c3ef3]{background-color:#b7eb8f}td.o00[data-v-198c3ef3]{background-color:#004080}td.stand00[data-v-198c3ef3]{background-color:#e0e0ff}td.stand01[data-v-198c3ef3]{background-color:#e8e8ff}td.stand10[data-v-198c3ef3]{background-color:#f8f8f8}td.stand11[data-v-198c3ef3]{background-color:#f2f2f2}tr.filter-team[data-v-198c3ef3]{background-color:#ffffe0}tr.cfres01[data-v-198c3ef3]{background-color:#ffffb0}table.matches[data-v-198c3ef3]{table-layout:fixed}td.match[data-v-198c3ef3]{height:6em;width:2em}.coderTextRed[data-v-198c3ef3],.coderTextYellow[data-v-198c3ef3],.coderTextViolet[data-v-198c3ef3],.coderTextBlue[data-v-198c3ef3],.coderTextGreen[data-v-198c3ef3],.coderTextGray[data-v-198c3ef3],.coderTextOrange[data-v-198c3ef3]{font-weight:700;background-color:transparent}.coderTextRed[data-v-198c3ef3]:link,.coderTextYellow[data-v-198c3ef3]:link,.coderTextViolet[data-v-198c3ef3]:link,.coderTextBlue[data-v-198c3ef3]:link,.coderTextGreen[data-v-198c3ef3]:link,.coderTextGray[data-v-198c3ef3]:link,.coderTextOrange[data-v-198c3ef3]:link,.coderTextWhite[data-v-198c3ef3]:link,.coderTextBlack[data-v-198c3ef3]:link,.coderTextRed[data-v-198c3ef3]:visited,.coderTextYellow[data-v-198c3ef3]:visited,.coderTextViolet[data-v-198c3ef3]:visited,.coderTextBlue[data-v-198c3ef3]:visited,.coderTextGreen[data-v-198c3ef3]:visited,.coderTextGray[data-v-198c3ef3]:visited,.coderTextOrange[data-v-198c3ef3]:visited,.coderTextWhite[data-v-198c3ef3]:visited,.coderTextBlack[data-v-198c3ef3]:visited{text-decoration:none}.coderTextRed[data-v-198c3ef3]:hover,.coderTextYellow[data-v-198c3ef3]:hover,.coderTextViolet[data-v-198c3ef3]:hover,.coderTextBlue[data-v-198c3ef3]:hover,.coderTextGreen[data-v-198c3ef3]:hover,.coderTextGray[data-v-198c3ef3]:hover,.coderTextOrange[data-v-198c3ef3]:hover,.coderTextWhite[data-v-198c3ef3]:hover,.coderTextBlack[data-v-198c3ef3]:hover,.coderTextRed[data-v-198c3ef3]:active,.coderTextYellow[data-v-198c3ef3]:active,.coderTextViolet[data-v-198c3ef3]:active,.coderTextBlue[data-v-198c3ef3]:active,.coderTextGreen[data-v-198c3ef3]:active,.coderTextGray[data-v-198c3ef3]:active,.coderTextOrange[data-v-198c3ef3]:active,.coderTextWhite[data-v-198c3ef3]:active,.coderTextBlack[data-v-198c3ef3]:active{text-decoration:underline}.coderTextOrange[data-v-198c3ef3],.coderTextOrange[data-v-198c3ef3]:link,.coderTextOrange[data-v-198c3ef3]:visited,.coderTextOrange[data-v-198c3ef3]:hover,.coderTextOrange[data-v-198c3ef3]:active{color:#f90}.coderTextRed[data-v-198c3ef3],.coderTextRed[data-v-198c3ef3]:link,.coderTextRed[data-v-198c3ef3]:visited,.coderTextRed[data-v-198c3ef3]:hover,.coderTextRed[data-v-198c3ef3]:active{color:#e00}.coderTextYellow[data-v-198c3ef3],.coderTextYellow[data-v-198c3ef3]:link,.coderTextYellow[data-v-198c3ef3]:visited,.coderTextYellow[data-v-198c3ef3]:hover,.coderTextYellow[data-v-198c3ef3]:active{color:#dc0}.coderTextViolet[data-v-198c3ef3],.coderTextViolet[data-v-198c3ef3]:link,.coderTextViolet[data-v-198c3ef3]:visited,.coderTextViolet[data-v-198c3ef3]:hover,.coderTextViolet[data-v-198c3ef3]:active{color:#a0a}.coderTextBlue[data-v-198c3ef3],.coderTextBlue[data-v-198c3ef3]:link,.coderTextBlue[data-v-198c3ef3]:visited,.coderTextBlue[data-v-198c3ef3]:hover,.coderTextBlue[data-v-198c3ef3]:active{color:#66f}.coderTextGreen[data-v-198c3ef3],.coderTextGreen[data-v-198c3ef3]:link,.coderTextGreen[data-v-198c3ef3]:visited,.coderTextGreen[data-v-198c3ef3]:hover,.coderTextGreen[data-v-198c3ef3]:active{color:#00a900}.coderTextGray[data-v-198c3ef3],.coderTextGray[data-v-198c3ef3]:link,.coderTextGray[data-v-198c3ef3]:visited,.coderTextGray[data-v-198c3ef3]:hover,.coderTextGray[data-v-198c3ef3]:active{color:#999}.coderTextWhite[data-v-198c3ef3],.coderTextWhite[data-v-198c3ef3]:link,.coderTextWhite[data-v-198c3ef3]:visited,.coderTextWhite[data-v-198c3ef3]:hover,.coderTextWhite[data-v-198c3ef3]:active{color:#fff}.coderTextBlack[data-v-198c3ef3],.coderTextBlack[data-v-198c3ef3]:link,.coderTextBlack[data-v-198c3ef3]:visited,.coderTextBlack[data-v-198c3ef3]:hover,.coderTextBlack[data-v-198c3ef3]:active{color:#000}s[data-v-198c3ef3]{font-size:10px;font-style:normal;font-weight:700;text-decoration:none}.announce[data-v-198c3ef3]{padding:0 8px;float:right;width:50%;border:1px solid #004080;margin-left:8px}p.nmessage[data-v-198c3ef3]{text-align:justify}a[data-v-198c3ef3]{color:#004080}td.topmenu a[data-v-198c3ef3]{color:#fff;text-decoration:none;cursor:hand}td.topmenu a[data-v-198c3ef3]:hover{color:silver}td.topmenu[data-v-198c3ef3]{text-align:center;font-weight:700;font-style:oblique}td.topmenu div[data-v-198c3ef3]{background-color:#004080;height:25px;padding-top:2px}td.menuleft a[data-v-198c3ef3]{color:#fff;text-decoration:none;cursor:hand}td.menuleft a[data-v-198c3ef3]:hover{color:silver}td.menuleft[data-v-198c3ef3]{font-weight:700;font-size:16px;color:#640d00;font-style:oblique;text-align:left}td.menuleft div[data-v-198c3ef3]{padding:4px 8px;white-space:nowrap;background-color:#004080;text-align:center}td.newsselectcontainer[data-v-198c3ef3]{height:25px;width:190px}td.newsselectcontainer form[data-v-198c3ef3]{margin:0}td.newsselectcontainer select[data-v-198c3ef3]{background-color:#004080;color:#fff;width:140px;font-style:oblique;font-weight:700}.newsselectbtn[data-v-198c3ef3]{background-color:#004080;color:#fff;width:42px;height:23px;font-weight:700}.menuleftblock[data-v-198c3ef3]{border:1px solid #004080}.memorial[data-v-198c3ef3]{padding:0 8px;border:2px solid #000000}.menu[data-v-198c3ef3]{z-index:1000;font-size:1em;height:2em}.menu ul[data-v-198c3ef3]{padding:0;margin:0;list-style-type:none;height:2em;background:#004080}.menu ul ul[data-v-198c3ef3]{width:15em}.menu ul li[data-v-198c3ef3]{float:left;height:2em;line-height:2em}.menu ul ul li[data-v-198c3ef3]{display:block;width:12em;height:auto;position:relative;line-height:1em}.menu a[data-v-198c3ef3],.menu a[data-v-198c3ef3]:visited{display:block;float:left;height:100%;font-size:1em;text-decoration:none;color:#fff;background:#004080;padding:0 3em;text-align:center;font-weight:700;font-style:oblique}.menu ul ul a[data-v-198c3ef3],.menu ul ul a[data-v-198c3ef3]:visited{display:block;background:#004080;color:#fff;width:12em;height:100%;border:1px solid #fff;line-height:1em;padding:.5em 1em;text-align:center;font-weight:700;font-style:oblique}.menu ul table ul a[data-v-198c3ef3],.menu ul table ul a[data-v-198c3ef3]:visited{width:14em;width:12em}.menu table[data-v-198c3ef3]{position:absolute;left:0;top:0;font-size:1em;z-index:-1}.menu ul ul table[data-v-198c3ef3]{left:-1px}.menu ul ul table ul.left[data-v-198c3ef3]{margin-left:2px}.menu li[data-v-198c3ef3]:hover,html .menu a[data-v-198c3ef3]:hover{position:relative}.menu ul ul ul a[data-v-198c3ef3],.menu ul ul ul a[data-v-198c3ef3]:visited,.menu ul ul ul ul a[data-v-198c3ef3],.menu ul ul ul ul a[data-v-198c3ef3]:visited,.menu ul :hover a.sub1[data-v-198c3ef3],.menu ul ul :hover a.sub2[data-v-198c3ef3]{background:#004080}.menu a[data-v-198c3ef3]:hover{color:silver;background:#014181}.menu :hover>a[data-v-198c3ef3]{color:silver;background:#014181}.menu ul ul a[data-v-198c3ef3]:hover{color:silver;background:#014181}.menu ul ul :hover>a[data-v-198c3ef3]{color:silver;background:#014181}.menu ul ul ul a[data-v-198c3ef3]:hover{color:silver;background:#014181}.menu ul ul ul :hover>a[data-v-198c3ef3]{color:silver;background:#014181}.menu ul ul ul ul a[data-v-198c3ef3]:hover{color:silver;background:#014181}.menu ul ul[data-v-198c3ef3]{visibility:hidden;position:absolute;height:0;top:2em;left:0;width:14em}.menu ul ul ul[data-v-198c3ef3]{left:14em;top:0;width:14em}.menu ul ul ul.left[data-v-198c3ef3]{left:-14em}.menu ul li:hover ul[data-v-198c3ef3],.menu ul a:hover ul[data-v-198c3ef3]{visibility:visible;height:auto;padding-bottom:3em}.menu ul :hover ul ul[data-v-198c3ef3],.menu ul :hover ul :hover ul ul[data-v-198c3ef3]{visibility:hidden}.menu ul :hover ul :hover ul[data-v-198c3ef3],.menu ul :hover ul :hover ul :hover ul[data-v-198c3ef3]{visibility:visible}.lmenu[data-v-198c3ef3]{height:150px;font-size:90%}.lmenu ul[data-v-198c3ef3]{position:relative;z-index:500;padding:0;margin:0;list-style-type:none;width:15em}.lmenu li[data-v-198c3ef3]{color:#fff;height:2.6em;text-align:center;font-weight:700;font-style:oblique;float:left}.lmenu li div[data-v-198c3ef3]{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;text-indent:.5em;border:1px solid #fff;color:#004080;height:2.6em;float:left}.lmenu table[data-v-198c3ef3]{position:absolute;border-collapse:collapse;top:0;left:0;z-index:100;font-size:1em}.lmenu a[data-v-198c3ef3],.lmenu a[data-v-198c3ef3]:visited{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;color:#fff;background:#004080;text-indent:.5em;border:1px solid #fff}html .lmenu a[data-v-198c3ef3],html .menu a[data-v-198c3ef3]:visited{width:150em;width:14.9em}html .lmenu a[data-v-198c3ef3]:hover{color:silver;background:#014181;position:relative}.lmenu li[data-v-198c3ef3]:hover{position:relative}.lmenu a[data-v-198c3ef3]:active,.lmenu a[data-v-198c3ef3]:focus{color:silver;background:#004080}.lmenu li:hover>a[data-v-198c3ef3]{color:silver;background:#014181}.lmenu li ul[data-v-198c3ef3]{visibility:hidden;position:absolute;top:-3em;left:10em;padding:3em}.lmenu li:hover>ul[data-v-198c3ef3]{visibility:visible}.lmenu ul a:hover ul ul[data-v-198c3ef3],.lmenu ul a:hover ul a:hover ul ul[data-v-198c3ef3],.lmenu ul a:hover ul a:hover ul a:hover ul ul[data-v-198c3ef3]{visibility:hidden}.lmenu ul a:hover ul[data-v-198c3ef3],.lmenu ul a:hover ul a:hover ul[data-v-198c3ef3],.lmenu ul a:hover ul a:hover ul a:hover ul[data-v-198c3ef3],.lmenu ul a:hover ul a:hover ul a:hover ul a:hover ul[data-v-198c3ef3]{visibility:visible}table.standings[data-v-68dd357b]{text-align:center;border:none;margin:0;padding:0}.loading[data-v-68dd357b]{display:flex;align-items:center;justify-content:center;height:80vh}img[data-v-68dd357b]{border:0!important}table[data-v-68dd357b]{border-collapse:separate!important}td[data-v-68dd357b]{box-sizing:content-box!important;padding:1px!important}tr.head[data-v-68dd357b]{background-color:#eee}tr.team[data-v-68dd357b]{height:2.5em}.hover[data-v-68dd357b]{cursor:pointer}td.stnd[data-v-68dd357b]{font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}.dark td.stnd[data-v-68dd357b]{border-color:#fff}td.stndact[data-v-68dd357b]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.frost[data-v-68dd357b]{background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.gold[data-v-68dd357b]{background-color:#fff566;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.goldact[data-v-68dd357b]{color:#00f;background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.silver[data-v-68dd357b]{background-color:#ffadd2;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.silveract[data-v-68dd357b]{color:#00f;background-color:#aaa;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.bronze[data-v-68dd357b]{background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.bronzeact[data-v-68dd357b]{color:#00f;background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.unofficial[data-v-68dd357b]{background-color:#fff;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.honorable[data-v-68dd357b]{background-color:#e6f7ff;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.first-solve[data-v-68dd357b]{background-color:#3db03d;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.incorrect[data-v-68dd357b]{background-color:#ffd0d0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.correct[data-v-68dd357b]{background-color:#e1ffb5;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.unattempted[data-v-68dd357b]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}.dark td.unattempted[data-v-68dd357b]{color:#fff}th.success[data-v-68dd357b]{background-color:#a0f0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.title[data-v-68dd357b],td.title[data-v-68dd357b]{background-color:#f5f5d5;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.tried[data-v-68dd357b]{background-color:#ffa0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.pending[data-v-68dd357b]{background-color:#c8d6fa;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.upsolved[data-v-68dd357b]{font-size:12px;border-width:0px;border-color:#000;margin:1px;color:red}td.virtual[data-v-68dd357b]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.alive[data-v-68dd357b]{color:red;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.empty[data-v-68dd357b]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}th.stnd[data-v-68dd357b]{font-size:12px;border-width:0px;border-color:#000;margin:1px}td.o01[data-v-68dd357b]{background-color:#004080}tr.solver[data-v-68dd357b]{background-color:#f0c0a0}tr.statistics-0[data-v-68dd357b]{background-color:#95de64}tr.statistics-1[data-v-68dd357b]{background-color:#b7eb8f}td.o00[data-v-68dd357b]{background-color:#004080}td.stand00[data-v-68dd357b]{background-color:#e0e0ff}td.stand01[data-v-68dd357b]{background-color:#e8e8ff}td.stand10[data-v-68dd357b]{background-color:#f8f8f8}td.stand11[data-v-68dd357b]{background-color:#f2f2f2}tr.filter-team[data-v-68dd357b]{background-color:#ffffe0}tr.cfres01[data-v-68dd357b]{background-color:#ffffb0}table.matches[data-v-68dd357b]{table-layout:fixed}td.match[data-v-68dd357b]{height:6em;width:2em}.coderTextRed[data-v-68dd357b],.coderTextYellow[data-v-68dd357b],.coderTextViolet[data-v-68dd357b],.coderTextBlue[data-v-68dd357b],.coderTextGreen[data-v-68dd357b],.coderTextGray[data-v-68dd357b],.coderTextOrange[data-v-68dd357b]{font-weight:700;background-color:transparent}.coderTextRed[data-v-68dd357b]:link,.coderTextYellow[data-v-68dd357b]:link,.coderTextViolet[data-v-68dd357b]:link,.coderTextBlue[data-v-68dd357b]:link,.coderTextGreen[data-v-68dd357b]:link,.coderTextGray[data-v-68dd357b]:link,.coderTextOrange[data-v-68dd357b]:link,.coderTextWhite[data-v-68dd357b]:link,.coderTextBlack[data-v-68dd357b]:link,.coderTextRed[data-v-68dd357b]:visited,.coderTextYellow[data-v-68dd357b]:visited,.coderTextViolet[data-v-68dd357b]:visited,.coderTextBlue[data-v-68dd357b]:visited,.coderTextGreen[data-v-68dd357b]:visited,.coderTextGray[data-v-68dd357b]:visited,.coderTextOrange[data-v-68dd357b]:visited,.coderTextWhite[data-v-68dd357b]:visited,.coderTextBlack[data-v-68dd357b]:visited{text-decoration:none}.coderTextRed[data-v-68dd357b]:hover,.coderTextYellow[data-v-68dd357b]:hover,.coderTextViolet[data-v-68dd357b]:hover,.coderTextBlue[data-v-68dd357b]:hover,.coderTextGreen[data-v-68dd357b]:hover,.coderTextGray[data-v-68dd357b]:hover,.coderTextOrange[data-v-68dd357b]:hover,.coderTextWhite[data-v-68dd357b]:hover,.coderTextBlack[data-v-68dd357b]:hover,.coderTextRed[data-v-68dd357b]:active,.coderTextYellow[data-v-68dd357b]:active,.coderTextViolet[data-v-68dd357b]:active,.coderTextBlue[data-v-68dd357b]:active,.coderTextGreen[data-v-68dd357b]:active,.coderTextGray[data-v-68dd357b]:active,.coderTextOrange[data-v-68dd357b]:active,.coderTextWhite[data-v-68dd357b]:active,.coderTextBlack[data-v-68dd357b]:active{text-decoration:underline}.coderTextOrange[data-v-68dd357b],.coderTextOrange[data-v-68dd357b]:link,.coderTextOrange[data-v-68dd357b]:visited,.coderTextOrange[data-v-68dd357b]:hover,.coderTextOrange[data-v-68dd357b]:active{color:#f90}.coderTextRed[data-v-68dd357b],.coderTextRed[data-v-68dd357b]:link,.coderTextRed[data-v-68dd357b]:visited,.coderTextRed[data-v-68dd357b]:hover,.coderTextRed[data-v-68dd357b]:active{color:#e00}.coderTextYellow[data-v-68dd357b],.coderTextYellow[data-v-68dd357b]:link,.coderTextYellow[data-v-68dd357b]:visited,.coderTextYellow[data-v-68dd357b]:hover,.coderTextYellow[data-v-68dd357b]:active{color:#dc0}.coderTextViolet[data-v-68dd357b],.coderTextViolet[data-v-68dd357b]:link,.coderTextViolet[data-v-68dd357b]:visited,.coderTextViolet[data-v-68dd357b]:hover,.coderTextViolet[data-v-68dd357b]:active{color:#a0a}.coderTextBlue[data-v-68dd357b],.coderTextBlue[data-v-68dd357b]:link,.coderTextBlue[data-v-68dd357b]:visited,.coderTextBlue[data-v-68dd357b]:hover,.coderTextBlue[data-v-68dd357b]:active{color:#66f}.coderTextGreen[data-v-68dd357b],.coderTextGreen[data-v-68dd357b]:link,.coderTextGreen[data-v-68dd357b]:visited,.coderTextGreen[data-v-68dd357b]:hover,.coderTextGreen[data-v-68dd357b]:active{color:#00a900}.coderTextGray[data-v-68dd357b],.coderTextGray[data-v-68dd357b]:link,.coderTextGray[data-v-68dd357b]:visited,.coderTextGray[data-v-68dd357b]:hover,.coderTextGray[data-v-68dd357b]:active{color:#999}.coderTextWhite[data-v-68dd357b],.coderTextWhite[data-v-68dd357b]:link,.coderTextWhite[data-v-68dd357b]:visited,.coderTextWhite[data-v-68dd357b]:hover,.coderTextWhite[data-v-68dd357b]:active{color:#fff}.coderTextBlack[data-v-68dd357b],.coderTextBlack[data-v-68dd357b]:link,.coderTextBlack[data-v-68dd357b]:visited,.coderTextBlack[data-v-68dd357b]:hover,.coderTextBlack[data-v-68dd357b]:active{color:#000}s[data-v-68dd357b]{font-size:10px;font-style:normal;font-weight:700;text-decoration:none}.announce[data-v-68dd357b]{padding:0 8px;float:right;width:50%;border:1px solid #004080;margin-left:8px}p.nmessage[data-v-68dd357b]{text-align:justify}a[data-v-68dd357b]{color:#004080}td.topmenu a[data-v-68dd357b]{color:#fff;text-decoration:none;cursor:hand}td.topmenu a[data-v-68dd357b]:hover{color:silver}td.topmenu[data-v-68dd357b]{text-align:center;font-weight:700;font-style:oblique}td.topmenu div[data-v-68dd357b]{background-color:#004080;height:25px;padding-top:2px}td.menuleft a[data-v-68dd357b]{color:#fff;text-decoration:none;cursor:hand}td.menuleft a[data-v-68dd357b]:hover{color:silver}td.menuleft[data-v-68dd357b]{font-weight:700;font-size:16px;color:#640d00;font-style:oblique;text-align:left}td.menuleft div[data-v-68dd357b]{padding:4px 8px;white-space:nowrap;background-color:#004080;text-align:center}td.newsselectcontainer[data-v-68dd357b]{height:25px;width:190px}td.newsselectcontainer form[data-v-68dd357b]{margin:0}td.newsselectcontainer select[data-v-68dd357b]{background-color:#004080;color:#fff;width:140px;font-style:oblique;font-weight:700}.newsselectbtn[data-v-68dd357b]{background-color:#004080;color:#fff;width:42px;height:23px;font-weight:700}.menuleftblock[data-v-68dd357b]{border:1px solid #004080}.memorial[data-v-68dd357b]{padding:0 8px;border:2px solid #000000}.menu[data-v-68dd357b]{z-index:1000;font-size:1em;height:2em}.menu ul[data-v-68dd357b]{padding:0;margin:0;list-style-type:none;height:2em;background:#004080}.menu ul ul[data-v-68dd357b]{width:15em}.menu ul li[data-v-68dd357b]{float:left;height:2em;line-height:2em}.menu ul ul li[data-v-68dd357b]{display:block;width:12em;height:auto;position:relative;line-height:1em}.menu a[data-v-68dd357b],.menu a[data-v-68dd357b]:visited{display:block;float:left;height:100%;font-size:1em;text-decoration:none;color:#fff;background:#004080;padding:0 3em;text-align:center;font-weight:700;font-style:oblique}.menu ul ul a[data-v-68dd357b],.menu ul ul a[data-v-68dd357b]:visited{display:block;background:#004080;color:#fff;width:12em;height:100%;border:1px solid #fff;line-height:1em;padding:.5em 1em;text-align:center;font-weight:700;font-style:oblique}.menu ul table ul a[data-v-68dd357b],.menu ul table ul a[data-v-68dd357b]:visited{width:14em;width:12em}.menu table[data-v-68dd357b]{position:absolute;left:0;top:0;font-size:1em;z-index:-1}.menu ul ul table[data-v-68dd357b]{left:-1px}.menu ul ul table ul.left[data-v-68dd357b]{margin-left:2px}.menu li[data-v-68dd357b]:hover,html .menu a[data-v-68dd357b]:hover{position:relative}.menu ul ul ul a[data-v-68dd357b],.menu ul ul ul a[data-v-68dd357b]:visited,.menu ul ul ul ul a[data-v-68dd357b],.menu ul ul ul ul a[data-v-68dd357b]:visited,.menu ul :hover a.sub1[data-v-68dd357b],.menu ul ul :hover a.sub2[data-v-68dd357b]{background:#004080}.menu a[data-v-68dd357b]:hover{color:silver;background:#014181}.menu :hover>a[data-v-68dd357b]{color:silver;background:#014181}.menu ul ul a[data-v-68dd357b]:hover{color:silver;background:#014181}.menu ul ul :hover>a[data-v-68dd357b]{color:silver;background:#014181}.menu ul ul ul a[data-v-68dd357b]:hover{color:silver;background:#014181}.menu ul ul ul :hover>a[data-v-68dd357b]{color:silver;background:#014181}.menu ul ul ul ul a[data-v-68dd357b]:hover{color:silver;background:#014181}.menu ul ul[data-v-68dd357b]{visibility:hidden;position:absolute;height:0;top:2em;left:0;width:14em}.menu ul ul ul[data-v-68dd357b]{left:14em;top:0;width:14em}.menu ul ul ul.left[data-v-68dd357b]{left:-14em}.menu ul li:hover ul[data-v-68dd357b],.menu ul a:hover ul[data-v-68dd357b]{visibility:visible;height:auto;padding-bottom:3em}.menu ul :hover ul ul[data-v-68dd357b],.menu ul :hover ul :hover ul ul[data-v-68dd357b]{visibility:hidden}.menu ul :hover ul :hover ul[data-v-68dd357b],.menu ul :hover ul :hover ul :hover ul[data-v-68dd357b]{visibility:visible}.lmenu[data-v-68dd357b]{height:150px;font-size:90%}.lmenu ul[data-v-68dd357b]{position:relative;z-index:500;padding:0;margin:0;list-style-type:none;width:15em}.lmenu li[data-v-68dd357b]{color:#fff;height:2.6em;text-align:center;font-weight:700;font-style:oblique;float:left}.lmenu li div[data-v-68dd357b]{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;text-indent:.5em;border:1px solid #fff;color:#004080;height:2.6em;float:left}.lmenu table[data-v-68dd357b]{position:absolute;border-collapse:collapse;top:0;left:0;z-index:100;font-size:1em}.lmenu a[data-v-68dd357b],.lmenu a[data-v-68dd357b]:visited{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;color:#fff;background:#004080;text-indent:.5em;border:1px solid #fff}html .lmenu a[data-v-68dd357b],html .menu a[data-v-68dd357b]:visited{width:150em;width:14.9em}html .lmenu a[data-v-68dd357b]:hover{color:silver;background:#014181;position:relative}.lmenu li[data-v-68dd357b]:hover{position:relative}.lmenu a[data-v-68dd357b]:active,.lmenu a[data-v-68dd357b]:focus{color:silver;background:#004080}.lmenu li:hover>a[data-v-68dd357b]{color:silver;background:#014181}.lmenu li ul[data-v-68dd357b]{visibility:hidden;position:absolute;top:-3em;left:10em;padding:3em}.lmenu li:hover>ul[data-v-68dd357b]{visibility:visible}.lmenu ul a:hover ul ul[data-v-68dd357b],.lmenu ul a:hover ul a:hover ul ul[data-v-68dd357b],.lmenu ul a:hover ul a:hover ul a:hover ul ul[data-v-68dd357b]{visibility:hidden}.lmenu ul a:hover ul[data-v-68dd357b],.lmenu ul a:hover ul a:hover ul[data-v-68dd357b],.lmenu ul a:hover ul a:hover ul a:hover ul[data-v-68dd357b],.lmenu ul a:hover ul a:hover ul a:hover ul a:hover ul[data-v-68dd357b]{visibility:visible}table.standings[data-v-e8acef14]{text-align:center;border:none;margin:0;padding:0}.loading[data-v-e8acef14]{display:flex;align-items:center;justify-content:center;height:80vh}img[data-v-e8acef14]{border:0!important}table[data-v-e8acef14]{border-collapse:separate!important}td[data-v-e8acef14]{box-sizing:content-box!important;padding:1px!important}tr.head[data-v-e8acef14]{background-color:#eee}tr.team[data-v-e8acef14]{height:2.5em}.hover[data-v-e8acef14]{cursor:pointer}td.stnd[data-v-e8acef14]{font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}.dark td.stnd[data-v-e8acef14]{border-color:#fff}td.stndact[data-v-e8acef14]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.frost[data-v-e8acef14]{background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.gold[data-v-e8acef14]{background-color:#fff566;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.goldact[data-v-e8acef14]{color:#00f;background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.silver[data-v-e8acef14]{background-color:#ffadd2;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.silveract[data-v-e8acef14]{color:#00f;background-color:#aaa;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.bronze[data-v-e8acef14]{background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.bronzeact[data-v-e8acef14]{color:#00f;background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.unofficial[data-v-e8acef14]{background-color:#fff;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.honorable[data-v-e8acef14]{background-color:#e6f7ff;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.first-solve[data-v-e8acef14]{background-color:#3db03d;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.incorrect[data-v-e8acef14]{background-color:#ffd0d0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.correct[data-v-e8acef14]{background-color:#e1ffb5;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.unattempted[data-v-e8acef14]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}.dark td.unattempted[data-v-e8acef14]{color:#fff}th.success[data-v-e8acef14]{background-color:#a0f0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.title[data-v-e8acef14],td.title[data-v-e8acef14]{background-color:#f5f5d5;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.tried[data-v-e8acef14]{background-color:#ffa0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.pending[data-v-e8acef14]{background-color:#c8d6fa;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.upsolved[data-v-e8acef14]{font-size:12px;border-width:0px;border-color:#000;margin:1px;color:red}td.virtual[data-v-e8acef14]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.alive[data-v-e8acef14]{color:red;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.empty[data-v-e8acef14]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}th.stnd[data-v-e8acef14]{font-size:12px;border-width:0px;border-color:#000;margin:1px}td.o01[data-v-e8acef14]{background-color:#004080}tr.solver[data-v-e8acef14]{background-color:#f0c0a0}tr.statistics-0[data-v-e8acef14]{background-color:#95de64}tr.statistics-1[data-v-e8acef14]{background-color:#b7eb8f}td.o00[data-v-e8acef14]{background-color:#004080}td.stand00[data-v-e8acef14]{background-color:#e0e0ff}td.stand01[data-v-e8acef14]{background-color:#e8e8ff}td.stand10[data-v-e8acef14]{background-color:#f8f8f8}td.stand11[data-v-e8acef14]{background-color:#f2f2f2}tr.filter-team[data-v-e8acef14]{background-color:#ffffe0}tr.cfres01[data-v-e8acef14]{background-color:#ffffb0}table.matches[data-v-e8acef14]{table-layout:fixed}td.match[data-v-e8acef14]{height:6em;width:2em}.coderTextRed[data-v-e8acef14],.coderTextYellow[data-v-e8acef14],.coderTextViolet[data-v-e8acef14],.coderTextBlue[data-v-e8acef14],.coderTextGreen[data-v-e8acef14],.coderTextGray[data-v-e8acef14],.coderTextOrange[data-v-e8acef14]{font-weight:700;background-color:transparent}.coderTextRed[data-v-e8acef14]:link,.coderTextYellow[data-v-e8acef14]:link,.coderTextViolet[data-v-e8acef14]:link,.coderTextBlue[data-v-e8acef14]:link,.coderTextGreen[data-v-e8acef14]:link,.coderTextGray[data-v-e8acef14]:link,.coderTextOrange[data-v-e8acef14]:link,.coderTextWhite[data-v-e8acef14]:link,.coderTextBlack[data-v-e8acef14]:link,.coderTextRed[data-v-e8acef14]:visited,.coderTextYellow[data-v-e8acef14]:visited,.coderTextViolet[data-v-e8acef14]:visited,.coderTextBlue[data-v-e8acef14]:visited,.coderTextGreen[data-v-e8acef14]:visited,.coderTextGray[data-v-e8acef14]:visited,.coderTextOrange[data-v-e8acef14]:visited,.coderTextWhite[data-v-e8acef14]:visited,.coderTextBlack[data-v-e8acef14]:visited{text-decoration:none}.coderTextRed[data-v-e8acef14]:hover,.coderTextYellow[data-v-e8acef14]:hover,.coderTextViolet[data-v-e8acef14]:hover,.coderTextBlue[data-v-e8acef14]:hover,.coderTextGreen[data-v-e8acef14]:hover,.coderTextGray[data-v-e8acef14]:hover,.coderTextOrange[data-v-e8acef14]:hover,.coderTextWhite[data-v-e8acef14]:hover,.coderTextBlack[data-v-e8acef14]:hover,.coderTextRed[data-v-e8acef14]:active,.coderTextYellow[data-v-e8acef14]:active,.coderTextViolet[data-v-e8acef14]:active,.coderTextBlue[data-v-e8acef14]:active,.coderTextGreen[data-v-e8acef14]:active,.coderTextGray[data-v-e8acef14]:active,.coderTextOrange[data-v-e8acef14]:active,.coderTextWhite[data-v-e8acef14]:active,.coderTextBlack[data-v-e8acef14]:active{text-decoration:underline}.coderTextOrange[data-v-e8acef14],.coderTextOrange[data-v-e8acef14]:link,.coderTextOrange[data-v-e8acef14]:visited,.coderTextOrange[data-v-e8acef14]:hover,.coderTextOrange[data-v-e8acef14]:active{color:#f90}.coderTextRed[data-v-e8acef14],.coderTextRed[data-v-e8acef14]:link,.coderTextRed[data-v-e8acef14]:visited,.coderTextRed[data-v-e8acef14]:hover,.coderTextRed[data-v-e8acef14]:active{color:#e00}.coderTextYellow[data-v-e8acef14],.coderTextYellow[data-v-e8acef14]:link,.coderTextYellow[data-v-e8acef14]:visited,.coderTextYellow[data-v-e8acef14]:hover,.coderTextYellow[data-v-e8acef14]:active{color:#dc0}.coderTextViolet[data-v-e8acef14],.coderTextViolet[data-v-e8acef14]:link,.coderTextViolet[data-v-e8acef14]:visited,.coderTextViolet[data-v-e8acef14]:hover,.coderTextViolet[data-v-e8acef14]:active{color:#a0a}.coderTextBlue[data-v-e8acef14],.coderTextBlue[data-v-e8acef14]:link,.coderTextBlue[data-v-e8acef14]:visited,.coderTextBlue[data-v-e8acef14]:hover,.coderTextBlue[data-v-e8acef14]:active{color:#66f}.coderTextGreen[data-v-e8acef14],.coderTextGreen[data-v-e8acef14]:link,.coderTextGreen[data-v-e8acef14]:visited,.coderTextGreen[data-v-e8acef14]:hover,.coderTextGreen[data-v-e8acef14]:active{color:#00a900}.coderTextGray[data-v-e8acef14],.coderTextGray[data-v-e8acef14]:link,.coderTextGray[data-v-e8acef14]:visited,.coderTextGray[data-v-e8acef14]:hover,.coderTextGray[data-v-e8acef14]:active{color:#999}.coderTextWhite[data-v-e8acef14],.coderTextWhite[data-v-e8acef14]:link,.coderTextWhite[data-v-e8acef14]:visited,.coderTextWhite[data-v-e8acef14]:hover,.coderTextWhite[data-v-e8acef14]:active{color:#fff}.coderTextBlack[data-v-e8acef14],.coderTextBlack[data-v-e8acef14]:link,.coderTextBlack[data-v-e8acef14]:visited,.coderTextBlack[data-v-e8acef14]:hover,.coderTextBlack[data-v-e8acef14]:active{color:#000}s[data-v-e8acef14]{font-size:10px;font-style:normal;font-weight:700;text-decoration:none}.announce[data-v-e8acef14]{padding:0 8px;float:right;width:50%;border:1px solid #004080;margin-left:8px}p.nmessage[data-v-e8acef14]{text-align:justify}a[data-v-e8acef14]{color:#004080}td.topmenu a[data-v-e8acef14]{color:#fff;text-decoration:none;cursor:hand}td.topmenu a[data-v-e8acef14]:hover{color:silver}td.topmenu[data-v-e8acef14]{text-align:center;font-weight:700;font-style:oblique}td.topmenu div[data-v-e8acef14]{background-color:#004080;height:25px;padding-top:2px}td.menuleft a[data-v-e8acef14]{color:#fff;text-decoration:none;cursor:hand}td.menuleft a[data-v-e8acef14]:hover{color:silver}td.menuleft[data-v-e8acef14]{font-weight:700;font-size:16px;color:#640d00;font-style:oblique;text-align:left}td.menuleft div[data-v-e8acef14]{padding:4px 8px;white-space:nowrap;background-color:#004080;text-align:center}td.newsselectcontainer[data-v-e8acef14]{height:25px;width:190px}td.newsselectcontainer form[data-v-e8acef14]{margin:0}td.newsselectcontainer select[data-v-e8acef14]{background-color:#004080;color:#fff;width:140px;font-style:oblique;font-weight:700}.newsselectbtn[data-v-e8acef14]{background-color:#004080;color:#fff;width:42px;height:23px;font-weight:700}.menuleftblock[data-v-e8acef14]{border:1px solid #004080}.memorial[data-v-e8acef14]{padding:0 8px;border:2px solid #000000}.menu[data-v-e8acef14]{z-index:1000;font-size:1em;height:2em}.menu ul[data-v-e8acef14]{padding:0;margin:0;list-style-type:none;height:2em;background:#004080}.menu ul ul[data-v-e8acef14]{width:15em}.menu ul li[data-v-e8acef14]{float:left;height:2em;line-height:2em}.menu ul ul li[data-v-e8acef14]{display:block;width:12em;height:auto;position:relative;line-height:1em}.menu a[data-v-e8acef14],.menu a[data-v-e8acef14]:visited{display:block;float:left;height:100%;font-size:1em;text-decoration:none;color:#fff;background:#004080;padding:0 3em;text-align:center;font-weight:700;font-style:oblique}.menu ul ul a[data-v-e8acef14],.menu ul ul a[data-v-e8acef14]:visited{display:block;background:#004080;color:#fff;width:12em;height:100%;border:1px solid #fff;line-height:1em;padding:.5em 1em;text-align:center;font-weight:700;font-style:oblique}.menu ul table ul a[data-v-e8acef14],.menu ul table ul a[data-v-e8acef14]:visited{width:14em;width:12em}.menu table[data-v-e8acef14]{position:absolute;left:0;top:0;font-size:1em;z-index:-1}.menu ul ul table[data-v-e8acef14]{left:-1px}.menu ul ul table ul.left[data-v-e8acef14]{margin-left:2px}.menu li[data-v-e8acef14]:hover,html .menu a[data-v-e8acef14]:hover{position:relative}.menu ul ul ul a[data-v-e8acef14],.menu ul ul ul a[data-v-e8acef14]:visited,.menu ul ul ul ul a[data-v-e8acef14],.menu ul ul ul ul a[data-v-e8acef14]:visited,.menu ul :hover a.sub1[data-v-e8acef14],.menu ul ul :hover a.sub2[data-v-e8acef14]{background:#004080}.menu a[data-v-e8acef14]:hover{color:silver;background:#014181}.menu :hover>a[data-v-e8acef14]{color:silver;background:#014181}.menu ul ul a[data-v-e8acef14]:hover{color:silver;background:#014181}.menu ul ul :hover>a[data-v-e8acef14]{color:silver;background:#014181}.menu ul ul ul a[data-v-e8acef14]:hover{color:silver;background:#014181}.menu ul ul ul :hover>a[data-v-e8acef14]{color:silver;background:#014181}.menu ul ul ul ul a[data-v-e8acef14]:hover{color:silver;background:#014181}.menu ul ul[data-v-e8acef14]{visibility:hidden;position:absolute;height:0;top:2em;left:0;width:14em}.menu ul ul ul[data-v-e8acef14]{left:14em;top:0;width:14em}.menu ul ul ul.left[data-v-e8acef14]{left:-14em}.menu ul li:hover ul[data-v-e8acef14],.menu ul a:hover ul[data-v-e8acef14]{visibility:visible;height:auto;padding-bottom:3em}.menu ul :hover ul ul[data-v-e8acef14],.menu ul :hover ul :hover ul ul[data-v-e8acef14]{visibility:hidden}.menu ul :hover ul :hover ul[data-v-e8acef14],.menu ul :hover ul :hover ul :hover ul[data-v-e8acef14]{visibility:visible}.lmenu[data-v-e8acef14]{height:150px;font-size:90%}.lmenu ul[data-v-e8acef14]{position:relative;z-index:500;padding:0;margin:0;list-style-type:none;width:15em}.lmenu li[data-v-e8acef14]{color:#fff;height:2.6em;text-align:center;font-weight:700;font-style:oblique;float:left}.lmenu li div[data-v-e8acef14]{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;text-indent:.5em;border:1px solid #fff;color:#004080;height:2.6em;float:left}.lmenu table[data-v-e8acef14]{position:absolute;border-collapse:collapse;top:0;left:0;z-index:100;font-size:1em}.lmenu a[data-v-e8acef14],.lmenu a[data-v-e8acef14]:visited{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;color:#fff;background:#004080;text-indent:.5em;border:1px solid #fff}html .lmenu a[data-v-e8acef14],html .menu a[data-v-e8acef14]:visited{width:150em;width:14.9em}html .lmenu a[data-v-e8acef14]:hover{color:silver;background:#014181;position:relative}.lmenu li[data-v-e8acef14]:hover{position:relative}.lmenu a[data-v-e8acef14]:active,.lmenu a[data-v-e8acef14]:focus{color:silver;background:#004080}.lmenu li:hover>a[data-v-e8acef14]{color:silver;background:#014181}.lmenu li ul[data-v-e8acef14]{visibility:hidden;position:absolute;top:-3em;left:10em;padding:3em}.lmenu li:hover>ul[data-v-e8acef14]{visibility:visible}.lmenu ul a:hover ul ul[data-v-e8acef14],.lmenu ul a:hover ul a:hover ul ul[data-v-e8acef14],.lmenu ul a:hover ul a:hover ul a:hover ul ul[data-v-e8acef14]{visibility:hidden}.lmenu ul a:hover ul[data-v-e8acef14],.lmenu ul a:hover ul a:hover ul[data-v-e8acef14],.lmenu ul a:hover ul a:hover ul a:hover ul[data-v-e8acef14],.lmenu ul a:hover ul a:hover ul a:hover ul a:hover ul[data-v-e8acef14]{visibility:visible}table.standings[data-v-6d613751]{text-align:center;border:none;margin:0;padding:0}.loading[data-v-6d613751]{display:flex;align-items:center;justify-content:center;height:80vh}img[data-v-6d613751]{border:0!important}table[data-v-6d613751]{border-collapse:separate!important}td[data-v-6d613751]{box-sizing:content-box!important;padding:1px!important}tr.head[data-v-6d613751]{background-color:#eee}tr.team[data-v-6d613751]{height:2.5em}.hover[data-v-6d613751]{cursor:pointer}td.stnd[data-v-6d613751]{font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}.dark td.stnd[data-v-6d613751]{border-color:#fff}td.stndact[data-v-6d613751]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.frost[data-v-6d613751]{background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.gold[data-v-6d613751]{background-color:#fff566;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.goldact[data-v-6d613751]{color:#00f;background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.silver[data-v-6d613751]{background-color:#ffadd2;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.silveract[data-v-6d613751]{color:#00f;background-color:#aaa;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.bronze[data-v-6d613751]{background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.bronzeact[data-v-6d613751]{color:#00f;background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.unofficial[data-v-6d613751]{background-color:#fff;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.honorable[data-v-6d613751]{background-color:#e6f7ff;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.first-solve[data-v-6d613751]{background-color:#3db03d;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.incorrect[data-v-6d613751]{background-color:#ffd0d0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.correct[data-v-6d613751]{background-color:#e1ffb5;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.unattempted[data-v-6d613751]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}.dark td.unattempted[data-v-6d613751]{color:#fff}th.success[data-v-6d613751]{background-color:#a0f0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.title[data-v-6d613751],td.title[data-v-6d613751]{background-color:#f5f5d5;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.tried[data-v-6d613751]{background-color:#ffa0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.pending[data-v-6d613751]{background-color:#c8d6fa;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.upsolved[data-v-6d613751]{font-size:12px;border-width:0px;border-color:#000;margin:1px;color:red}td.virtual[data-v-6d613751]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.alive[data-v-6d613751]{color:red;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.empty[data-v-6d613751]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}th.stnd[data-v-6d613751]{font-size:12px;border-width:0px;border-color:#000;margin:1px}td.o01[data-v-6d613751]{background-color:#004080}tr.solver[data-v-6d613751]{background-color:#f0c0a0}tr.statistics-0[data-v-6d613751]{background-color:#95de64}tr.statistics-1[data-v-6d613751]{background-color:#b7eb8f}td.o00[data-v-6d613751]{background-color:#004080}td.stand00[data-v-6d613751]{background-color:#e0e0ff}td.stand01[data-v-6d613751]{background-color:#e8e8ff}td.stand10[data-v-6d613751]{background-color:#f8f8f8}td.stand11[data-v-6d613751]{background-color:#f2f2f2}tr.filter-team[data-v-6d613751]{background-color:#ffffe0}tr.cfres01[data-v-6d613751]{background-color:#ffffb0}table.matches[data-v-6d613751]{table-layout:fixed}td.match[data-v-6d613751]{height:6em;width:2em}.coderTextRed[data-v-6d613751],.coderTextYellow[data-v-6d613751],.coderTextViolet[data-v-6d613751],.coderTextBlue[data-v-6d613751],.coderTextGreen[data-v-6d613751],.coderTextGray[data-v-6d613751],.coderTextOrange[data-v-6d613751]{font-weight:700;background-color:transparent}.coderTextRed[data-v-6d613751]:link,.coderTextYellow[data-v-6d613751]:link,.coderTextViolet[data-v-6d613751]:link,.coderTextBlue[data-v-6d613751]:link,.coderTextGreen[data-v-6d613751]:link,.coderTextGray[data-v-6d613751]:link,.coderTextOrange[data-v-6d613751]:link,.coderTextWhite[data-v-6d613751]:link,.coderTextBlack[data-v-6d613751]:link,.coderTextRed[data-v-6d613751]:visited,.coderTextYellow[data-v-6d613751]:visited,.coderTextViolet[data-v-6d613751]:visited,.coderTextBlue[data-v-6d613751]:visited,.coderTextGreen[data-v-6d613751]:visited,.coderTextGray[data-v-6d613751]:visited,.coderTextOrange[data-v-6d613751]:visited,.coderTextWhite[data-v-6d613751]:visited,.coderTextBlack[data-v-6d613751]:visited{text-decoration:none}.coderTextRed[data-v-6d613751]:hover,.coderTextYellow[data-v-6d613751]:hover,.coderTextViolet[data-v-6d613751]:hover,.coderTextBlue[data-v-6d613751]:hover,.coderTextGreen[data-v-6d613751]:hover,.coderTextGray[data-v-6d613751]:hover,.coderTextOrange[data-v-6d613751]:hover,.coderTextWhite[data-v-6d613751]:hover,.coderTextBlack[data-v-6d613751]:hover,.coderTextRed[data-v-6d613751]:active,.coderTextYellow[data-v-6d613751]:active,.coderTextViolet[data-v-6d613751]:active,.coderTextBlue[data-v-6d613751]:active,.coderTextGreen[data-v-6d613751]:active,.coderTextGray[data-v-6d613751]:active,.coderTextOrange[data-v-6d613751]:active,.coderTextWhite[data-v-6d613751]:active,.coderTextBlack[data-v-6d613751]:active{text-decoration:underline}.coderTextOrange[data-v-6d613751],.coderTextOrange[data-v-6d613751]:link,.coderTextOrange[data-v-6d613751]:visited,.coderTextOrange[data-v-6d613751]:hover,.coderTextOrange[data-v-6d613751]:active{color:#f90}.coderTextRed[data-v-6d613751],.coderTextRed[data-v-6d613751]:link,.coderTextRed[data-v-6d613751]:visited,.coderTextRed[data-v-6d613751]:hover,.coderTextRed[data-v-6d613751]:active{color:#e00}.coderTextYellow[data-v-6d613751],.coderTextYellow[data-v-6d613751]:link,.coderTextYellow[data-v-6d613751]:visited,.coderTextYellow[data-v-6d613751]:hover,.coderTextYellow[data-v-6d613751]:active{color:#dc0}.coderTextViolet[data-v-6d613751],.coderTextViolet[data-v-6d613751]:link,.coderTextViolet[data-v-6d613751]:visited,.coderTextViolet[data-v-6d613751]:hover,.coderTextViolet[data-v-6d613751]:active{color:#a0a}.coderTextBlue[data-v-6d613751],.coderTextBlue[data-v-6d613751]:link,.coderTextBlue[data-v-6d613751]:visited,.coderTextBlue[data-v-6d613751]:hover,.coderTextBlue[data-v-6d613751]:active{color:#66f}.coderTextGreen[data-v-6d613751],.coderTextGreen[data-v-6d613751]:link,.coderTextGreen[data-v-6d613751]:visited,.coderTextGreen[data-v-6d613751]:hover,.coderTextGreen[data-v-6d613751]:active{color:#00a900}.coderTextGray[data-v-6d613751],.coderTextGray[data-v-6d613751]:link,.coderTextGray[data-v-6d613751]:visited,.coderTextGray[data-v-6d613751]:hover,.coderTextGray[data-v-6d613751]:active{color:#999}.coderTextWhite[data-v-6d613751],.coderTextWhite[data-v-6d613751]:link,.coderTextWhite[data-v-6d613751]:visited,.coderTextWhite[data-v-6d613751]:hover,.coderTextWhite[data-v-6d613751]:active{color:#fff}.coderTextBlack[data-v-6d613751],.coderTextBlack[data-v-6d613751]:link,.coderTextBlack[data-v-6d613751]:visited,.coderTextBlack[data-v-6d613751]:hover,.coderTextBlack[data-v-6d613751]:active{color:#000}s[data-v-6d613751]{font-size:10px;font-style:normal;font-weight:700;text-decoration:none}.announce[data-v-6d613751]{padding:0 8px;float:right;width:50%;border:1px solid #004080;margin-left:8px}p.nmessage[data-v-6d613751]{text-align:justify}a[data-v-6d613751]{color:#004080}td.topmenu a[data-v-6d613751]{color:#fff;text-decoration:none;cursor:hand}td.topmenu a[data-v-6d613751]:hover{color:silver}td.topmenu[data-v-6d613751]{text-align:center;font-weight:700;font-style:oblique}td.topmenu div[data-v-6d613751]{background-color:#004080;height:25px;padding-top:2px}td.menuleft a[data-v-6d613751]{color:#fff;text-decoration:none;cursor:hand}td.menuleft a[data-v-6d613751]:hover{color:silver}td.menuleft[data-v-6d613751]{font-weight:700;font-size:16px;color:#640d00;font-style:oblique;text-align:left}td.menuleft div[data-v-6d613751]{padding:4px 8px;white-space:nowrap;background-color:#004080;text-align:center}td.newsselectcontainer[data-v-6d613751]{height:25px;width:190px}td.newsselectcontainer form[data-v-6d613751]{margin:0}td.newsselectcontainer select[data-v-6d613751]{background-color:#004080;color:#fff;width:140px;font-style:oblique;font-weight:700}.newsselectbtn[data-v-6d613751]{background-color:#004080;color:#fff;width:42px;height:23px;font-weight:700}.menuleftblock[data-v-6d613751]{border:1px solid #004080}.memorial[data-v-6d613751]{padding:0 8px;border:2px solid #000000}.menu[data-v-6d613751]{z-index:1000;font-size:1em;height:2em}.menu ul[data-v-6d613751]{padding:0;margin:0;list-style-type:none;height:2em;background:#004080}.menu ul ul[data-v-6d613751]{width:15em}.menu ul li[data-v-6d613751]{float:left;height:2em;line-height:2em}.menu ul ul li[data-v-6d613751]{display:block;width:12em;height:auto;position:relative;line-height:1em}.menu a[data-v-6d613751],.menu a[data-v-6d613751]:visited{display:block;float:left;height:100%;font-size:1em;text-decoration:none;color:#fff;background:#004080;padding:0 3em;text-align:center;font-weight:700;font-style:oblique}.menu ul ul a[data-v-6d613751],.menu ul ul a[data-v-6d613751]:visited{display:block;background:#004080;color:#fff;width:12em;height:100%;border:1px solid #fff;line-height:1em;padding:.5em 1em;text-align:center;font-weight:700;font-style:oblique}.menu ul table ul a[data-v-6d613751],.menu ul table ul a[data-v-6d613751]:visited{width:14em;width:12em}.menu table[data-v-6d613751]{position:absolute;left:0;top:0;font-size:1em;z-index:-1}.menu ul ul table[data-v-6d613751]{left:-1px}.menu ul ul table ul.left[data-v-6d613751]{margin-left:2px}.menu li[data-v-6d613751]:hover,html .menu a[data-v-6d613751]:hover{position:relative}.menu ul ul ul a[data-v-6d613751],.menu ul ul ul a[data-v-6d613751]:visited,.menu ul ul ul ul a[data-v-6d613751],.menu ul ul ul ul a[data-v-6d613751]:visited,.menu ul :hover a.sub1[data-v-6d613751],.menu ul ul :hover a.sub2[data-v-6d613751]{background:#004080}.menu a[data-v-6d613751]:hover{color:silver;background:#014181}.menu :hover>a[data-v-6d613751]{color:silver;background:#014181}.menu ul ul a[data-v-6d613751]:hover{color:silver;background:#014181}.menu ul ul :hover>a[data-v-6d613751]{color:silver;background:#014181}.menu ul ul ul a[data-v-6d613751]:hover{color:silver;background:#014181}.menu ul ul ul :hover>a[data-v-6d613751]{color:silver;background:#014181}.menu ul ul ul ul a[data-v-6d613751]:hover{color:silver;background:#014181}.menu ul ul[data-v-6d613751]{visibility:hidden;position:absolute;height:0;top:2em;left:0;width:14em}.menu ul ul ul[data-v-6d613751]{left:14em;top:0;width:14em}.menu ul ul ul.left[data-v-6d613751]{left:-14em}.menu ul li:hover ul[data-v-6d613751],.menu ul a:hover ul[data-v-6d613751]{visibility:visible;height:auto;padding-bottom:3em}.menu ul :hover ul ul[data-v-6d613751],.menu ul :hover ul :hover ul ul[data-v-6d613751]{visibility:hidden}.menu ul :hover ul :hover ul[data-v-6d613751],.menu ul :hover ul :hover ul :hover ul[data-v-6d613751]{visibility:visible}.lmenu[data-v-6d613751]{height:150px;font-size:90%}.lmenu ul[data-v-6d613751]{position:relative;z-index:500;padding:0;margin:0;list-style-type:none;width:15em}.lmenu li[data-v-6d613751]{color:#fff;height:2.6em;text-align:center;font-weight:700;font-style:oblique;float:left}.lmenu li div[data-v-6d613751]{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;text-indent:.5em;border:1px solid #fff;color:#004080;height:2.6em;float:left}.lmenu table[data-v-6d613751]{position:absolute;border-collapse:collapse;top:0;left:0;z-index:100;font-size:1em}.lmenu a[data-v-6d613751],.lmenu a[data-v-6d613751]:visited{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;color:#fff;background:#004080;text-indent:.5em;border:1px solid #fff}html .lmenu a[data-v-6d613751],html .menu a[data-v-6d613751]:visited{width:150em;width:14.9em}html .lmenu a[data-v-6d613751]:hover{color:silver;background:#014181;position:relative}.lmenu li[data-v-6d613751]:hover{position:relative}.lmenu a[data-v-6d613751]:active,.lmenu a[data-v-6d613751]:focus{color:silver;background:#004080}.lmenu li:hover>a[data-v-6d613751]{color:silver;background:#014181}.lmenu li ul[data-v-6d613751]{visibility:hidden;position:absolute;top:-3em;left:10em;padding:3em}.lmenu li:hover>ul[data-v-6d613751]{visibility:visible}.lmenu ul a:hover ul ul[data-v-6d613751],.lmenu ul a:hover ul a:hover ul ul[data-v-6d613751],.lmenu ul a:hover ul a:hover ul a:hover ul ul[data-v-6d613751]{visibility:hidden}.lmenu ul a:hover ul[data-v-6d613751],.lmenu ul a:hover ul a:hover ul[data-v-6d613751],.lmenu ul a:hover ul a:hover ul a:hover ul[data-v-6d613751],.lmenu ul a:hover ul a:hover ul a:hover ul a:hover ul[data-v-6d613751]{visibility:visible}table.standings[data-v-3340f68a]{text-align:center;border:none;margin:0;padding:0}.loading[data-v-3340f68a]{display:flex;align-items:center;justify-content:center;height:80vh}img[data-v-3340f68a]{border:0!important}table[data-v-3340f68a]{border-collapse:separate!important}td[data-v-3340f68a]{box-sizing:content-box!important;padding:1px!important}tr.head[data-v-3340f68a]{background-color:#eee}tr.team[data-v-3340f68a]{height:2.5em}.hover[data-v-3340f68a]{cursor:pointer}td.stnd[data-v-3340f68a]{font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}.dark td.stnd[data-v-3340f68a]{border-color:#fff}td.stndact[data-v-3340f68a]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.frost[data-v-3340f68a]{background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.gold[data-v-3340f68a]{background-color:#fff566;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.goldact[data-v-3340f68a]{color:#00f;background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.silver[data-v-3340f68a]{background-color:#ffadd2;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.silveract[data-v-3340f68a]{color:#00f;background-color:#aaa;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.bronze[data-v-3340f68a]{background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.bronzeact[data-v-3340f68a]{color:#00f;background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.unofficial[data-v-3340f68a]{background-color:#fff;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.honorable[data-v-3340f68a]{background-color:#e6f7ff;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.first-solve[data-v-3340f68a]{background-color:#3db03d;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.incorrect[data-v-3340f68a]{background-color:#ffd0d0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.correct[data-v-3340f68a]{background-color:#e1ffb5;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.unattempted[data-v-3340f68a]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}.dark td.unattempted[data-v-3340f68a]{color:#fff}th.success[data-v-3340f68a]{background-color:#a0f0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.title[data-v-3340f68a],td.title[data-v-3340f68a]{background-color:#f5f5d5;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.tried[data-v-3340f68a]{background-color:#ffa0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.pending[data-v-3340f68a]{background-color:#c8d6fa;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.upsolved[data-v-3340f68a]{font-size:12px;border-width:0px;border-color:#000;margin:1px;color:red}td.virtual[data-v-3340f68a]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.alive[data-v-3340f68a]{color:red;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.empty[data-v-3340f68a]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}th.stnd[data-v-3340f68a]{font-size:12px;border-width:0px;border-color:#000;margin:1px}td.o01[data-v-3340f68a]{background-color:#004080}tr.solver[data-v-3340f68a]{background-color:#f0c0a0}tr.statistics-0[data-v-3340f68a]{background-color:#95de64}tr.statistics-1[data-v-3340f68a]{background-color:#b7eb8f}td.o00[data-v-3340f68a]{background-color:#004080}td.stand00[data-v-3340f68a]{background-color:#e0e0ff}td.stand01[data-v-3340f68a]{background-color:#e8e8ff}td.stand10[data-v-3340f68a]{background-color:#f8f8f8}td.stand11[data-v-3340f68a]{background-color:#f2f2f2}tr.filter-team[data-v-3340f68a]{background-color:#ffffe0}tr.cfres01[data-v-3340f68a]{background-color:#ffffb0}table.matches[data-v-3340f68a]{table-layout:fixed}td.match[data-v-3340f68a]{height:6em;width:2em}.coderTextRed[data-v-3340f68a],.coderTextYellow[data-v-3340f68a],.coderTextViolet[data-v-3340f68a],.coderTextBlue[data-v-3340f68a],.coderTextGreen[data-v-3340f68a],.coderTextGray[data-v-3340f68a],.coderTextOrange[data-v-3340f68a]{font-weight:700;background-color:transparent}.coderTextRed[data-v-3340f68a]:link,.coderTextYellow[data-v-3340f68a]:link,.coderTextViolet[data-v-3340f68a]:link,.coderTextBlue[data-v-3340f68a]:link,.coderTextGreen[data-v-3340f68a]:link,.coderTextGray[data-v-3340f68a]:link,.coderTextOrange[data-v-3340f68a]:link,.coderTextWhite[data-v-3340f68a]:link,.coderTextBlack[data-v-3340f68a]:link,.coderTextRed[data-v-3340f68a]:visited,.coderTextYellow[data-v-3340f68a]:visited,.coderTextViolet[data-v-3340f68a]:visited,.coderTextBlue[data-v-3340f68a]:visited,.coderTextGreen[data-v-3340f68a]:visited,.coderTextGray[data-v-3340f68a]:visited,.coderTextOrange[data-v-3340f68a]:visited,.coderTextWhite[data-v-3340f68a]:visited,.coderTextBlack[data-v-3340f68a]:visited{text-decoration:none}.coderTextRed[data-v-3340f68a]:hover,.coderTextYellow[data-v-3340f68a]:hover,.coderTextViolet[data-v-3340f68a]:hover,.coderTextBlue[data-v-3340f68a]:hover,.coderTextGreen[data-v-3340f68a]:hover,.coderTextGray[data-v-3340f68a]:hover,.coderTextOrange[data-v-3340f68a]:hover,.coderTextWhite[data-v-3340f68a]:hover,.coderTextBlack[data-v-3340f68a]:hover,.coderTextRed[data-v-3340f68a]:active,.coderTextYellow[data-v-3340f68a]:active,.coderTextViolet[data-v-3340f68a]:active,.coderTextBlue[data-v-3340f68a]:active,.coderTextGreen[data-v-3340f68a]:active,.coderTextGray[data-v-3340f68a]:active,.coderTextOrange[data-v-3340f68a]:active,.coderTextWhite[data-v-3340f68a]:active,.coderTextBlack[data-v-3340f68a]:active{text-decoration:underline}.coderTextOrange[data-v-3340f68a],.coderTextOrange[data-v-3340f68a]:link,.coderTextOrange[data-v-3340f68a]:visited,.coderTextOrange[data-v-3340f68a]:hover,.coderTextOrange[data-v-3340f68a]:active{color:#f90}.coderTextRed[data-v-3340f68a],.coderTextRed[data-v-3340f68a]:link,.coderTextRed[data-v-3340f68a]:visited,.coderTextRed[data-v-3340f68a]:hover,.coderTextRed[data-v-3340f68a]:active{color:#e00}.coderTextYellow[data-v-3340f68a],.coderTextYellow[data-v-3340f68a]:link,.coderTextYellow[data-v-3340f68a]:visited,.coderTextYellow[data-v-3340f68a]:hover,.coderTextYellow[data-v-3340f68a]:active{color:#dc0}.coderTextViolet[data-v-3340f68a],.coderTextViolet[data-v-3340f68a]:link,.coderTextViolet[data-v-3340f68a]:visited,.coderTextViolet[data-v-3340f68a]:hover,.coderTextViolet[data-v-3340f68a]:active{color:#a0a}.coderTextBlue[data-v-3340f68a],.coderTextBlue[data-v-3340f68a]:link,.coderTextBlue[data-v-3340f68a]:visited,.coderTextBlue[data-v-3340f68a]:hover,.coderTextBlue[data-v-3340f68a]:active{color:#66f}.coderTextGreen[data-v-3340f68a],.coderTextGreen[data-v-3340f68a]:link,.coderTextGreen[data-v-3340f68a]:visited,.coderTextGreen[data-v-3340f68a]:hover,.coderTextGreen[data-v-3340f68a]:active{color:#00a900}.coderTextGray[data-v-3340f68a],.coderTextGray[data-v-3340f68a]:link,.coderTextGray[data-v-3340f68a]:visited,.coderTextGray[data-v-3340f68a]:hover,.coderTextGray[data-v-3340f68a]:active{color:#999}.coderTextWhite[data-v-3340f68a],.coderTextWhite[data-v-3340f68a]:link,.coderTextWhite[data-v-3340f68a]:visited,.coderTextWhite[data-v-3340f68a]:hover,.coderTextWhite[data-v-3340f68a]:active{color:#fff}.coderTextBlack[data-v-3340f68a],.coderTextBlack[data-v-3340f68a]:link,.coderTextBlack[data-v-3340f68a]:visited,.coderTextBlack[data-v-3340f68a]:hover,.coderTextBlack[data-v-3340f68a]:active{color:#000}s[data-v-3340f68a]{font-size:10px;font-style:normal;font-weight:700;text-decoration:none}.announce[data-v-3340f68a]{padding:0 8px;float:right;width:50%;border:1px solid #004080;margin-left:8px}p.nmessage[data-v-3340f68a]{text-align:justify}a[data-v-3340f68a]{color:#004080}td.topmenu a[data-v-3340f68a]{color:#fff;text-decoration:none;cursor:hand}td.topmenu a[data-v-3340f68a]:hover{color:silver}td.topmenu[data-v-3340f68a]{text-align:center;font-weight:700;font-style:oblique}td.topmenu div[data-v-3340f68a]{background-color:#004080;height:25px;padding-top:2px}td.menuleft a[data-v-3340f68a]{color:#fff;text-decoration:none;cursor:hand}td.menuleft a[data-v-3340f68a]:hover{color:silver}td.menuleft[data-v-3340f68a]{font-weight:700;font-size:16px;color:#640d00;font-style:oblique;text-align:left}td.menuleft div[data-v-3340f68a]{padding:4px 8px;white-space:nowrap;background-color:#004080;text-align:center}td.newsselectcontainer[data-v-3340f68a]{height:25px;width:190px}td.newsselectcontainer form[data-v-3340f68a]{margin:0}td.newsselectcontainer select[data-v-3340f68a]{background-color:#004080;color:#fff;width:140px;font-style:oblique;font-weight:700}.newsselectbtn[data-v-3340f68a]{background-color:#004080;color:#fff;width:42px;height:23px;font-weight:700}.menuleftblock[data-v-3340f68a]{border:1px solid #004080}.memorial[data-v-3340f68a]{padding:0 8px;border:2px solid #000000}.menu[data-v-3340f68a]{z-index:1000;font-size:1em;height:2em}.menu ul[data-v-3340f68a]{padding:0;margin:0;list-style-type:none;height:2em;background:#004080}.menu ul ul[data-v-3340f68a]{width:15em}.menu ul li[data-v-3340f68a]{float:left;height:2em;line-height:2em}.menu ul ul li[data-v-3340f68a]{display:block;width:12em;height:auto;position:relative;line-height:1em}.menu a[data-v-3340f68a],.menu a[data-v-3340f68a]:visited{display:block;float:left;height:100%;font-size:1em;text-decoration:none;color:#fff;background:#004080;padding:0 3em;text-align:center;font-weight:700;font-style:oblique}.menu ul ul a[data-v-3340f68a],.menu ul ul a[data-v-3340f68a]:visited{display:block;background:#004080;color:#fff;width:12em;height:100%;border:1px solid #fff;line-height:1em;padding:.5em 1em;text-align:center;font-weight:700;font-style:oblique}.menu ul table ul a[data-v-3340f68a],.menu ul table ul a[data-v-3340f68a]:visited{width:14em;width:12em}.menu table[data-v-3340f68a]{position:absolute;left:0;top:0;font-size:1em;z-index:-1}.menu ul ul table[data-v-3340f68a]{left:-1px}.menu ul ul table ul.left[data-v-3340f68a]{margin-left:2px}.menu li[data-v-3340f68a]:hover,html .menu a[data-v-3340f68a]:hover{position:relative}.menu ul ul ul a[data-v-3340f68a],.menu ul ul ul a[data-v-3340f68a]:visited,.menu ul ul ul ul a[data-v-3340f68a],.menu ul ul ul ul a[data-v-3340f68a]:visited,.menu ul :hover a.sub1[data-v-3340f68a],.menu ul ul :hover a.sub2[data-v-3340f68a]{background:#004080}.menu a[data-v-3340f68a]:hover{color:silver;background:#014181}.menu :hover>a[data-v-3340f68a]{color:silver;background:#014181}.menu ul ul a[data-v-3340f68a]:hover{color:silver;background:#014181}.menu ul ul :hover>a[data-v-3340f68a]{color:silver;background:#014181}.menu ul ul ul a[data-v-3340f68a]:hover{color:silver;background:#014181}.menu ul ul ul :hover>a[data-v-3340f68a]{color:silver;background:#014181}.menu ul ul ul ul a[data-v-3340f68a]:hover{color:silver;background:#014181}.menu ul ul[data-v-3340f68a]{visibility:hidden;position:absolute;height:0;top:2em;left:0;width:14em}.menu ul ul ul[data-v-3340f68a]{left:14em;top:0;width:14em}.menu ul ul ul.left[data-v-3340f68a]{left:-14em}.menu ul li:hover ul[data-v-3340f68a],.menu ul a:hover ul[data-v-3340f68a]{visibility:visible;height:auto;padding-bottom:3em}.menu ul :hover ul ul[data-v-3340f68a],.menu ul :hover ul :hover ul ul[data-v-3340f68a]{visibility:hidden}.menu ul :hover ul :hover ul[data-v-3340f68a],.menu ul :hover ul :hover ul :hover ul[data-v-3340f68a]{visibility:visible}.lmenu[data-v-3340f68a]{height:150px;font-size:90%}.lmenu ul[data-v-3340f68a]{position:relative;z-index:500;padding:0;margin:0;list-style-type:none;width:15em}.lmenu li[data-v-3340f68a]{color:#fff;height:2.6em;text-align:center;font-weight:700;font-style:oblique;float:left}.lmenu li div[data-v-3340f68a]{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;text-indent:.5em;border:1px solid #fff;color:#004080;height:2.6em;float:left}.lmenu table[data-v-3340f68a]{position:absolute;border-collapse:collapse;top:0;left:0;z-index:100;font-size:1em}.lmenu a[data-v-3340f68a],.lmenu a[data-v-3340f68a]:visited{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;color:#fff;background:#004080;text-indent:.5em;border:1px solid #fff}html .lmenu a[data-v-3340f68a],html .menu a[data-v-3340f68a]:visited{width:150em;width:14.9em}html .lmenu a[data-v-3340f68a]:hover{color:silver;background:#014181;position:relative}.lmenu li[data-v-3340f68a]:hover{position:relative}.lmenu a[data-v-3340f68a]:active,.lmenu a[data-v-3340f68a]:focus{color:silver;background:#004080}.lmenu li:hover>a[data-v-3340f68a]{color:silver;background:#014181}.lmenu li ul[data-v-3340f68a]{visibility:hidden;position:absolute;top:-3em;left:10em;padding:3em}.lmenu li:hover>ul[data-v-3340f68a]{visibility:visible}.lmenu ul a:hover ul ul[data-v-3340f68a],.lmenu ul a:hover ul a:hover ul ul[data-v-3340f68a],.lmenu ul a:hover ul a:hover ul a:hover ul ul[data-v-3340f68a]{visibility:hidden}.lmenu ul a:hover ul[data-v-3340f68a],.lmenu ul a:hover ul a:hover ul[data-v-3340f68a],.lmenu ul a:hover ul a:hover ul a:hover ul[data-v-3340f68a],.lmenu ul a:hover ul a:hover ul a:hover ul a:hover ul[data-v-3340f68a]{visibility:visible}.second-level-menu-item[data-v-421d74d9]{height:18px;background:#333;position:relative;display:flex;justify-content:center;align-items:center;color:#fff;font-size:14px;font-weight:700;-webkit-transition:.7s;transition:.7s;cursor:pointer;margin:2px 4px!important;padding:4px!important;box-sizing:content-box!important;border-radius:3px}.second-level-menu-item[data-v-421d74d9]:hover,.second-level-menu-item-current[data-v-421d74d9]{background:#f30}table.standings[data-v-9e0d419f]{text-align:center;border:none;margin:0;padding:0}.loading[data-v-9e0d419f]{display:flex;align-items:center;justify-content:center;height:80vh}img[data-v-9e0d419f]{border:0!important}table[data-v-9e0d419f]{border-collapse:separate!important}td[data-v-9e0d419f]{box-sizing:content-box!important;padding:1px!important}tr.head[data-v-9e0d419f]{background-color:#eee}tr.team[data-v-9e0d419f]{height:2.5em}.hover[data-v-9e0d419f]{cursor:pointer}td.stnd[data-v-9e0d419f]{font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}.dark td.stnd[data-v-9e0d419f]{border-color:#fff}td.stndact[data-v-9e0d419f]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.frost[data-v-9e0d419f]{background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.gold[data-v-9e0d419f]{background-color:#fff566;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.goldact[data-v-9e0d419f]{color:#00f;background-color:#fea;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.silver[data-v-9e0d419f]{background-color:#ffadd2;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.silveract[data-v-9e0d419f]{color:#00f;background-color:#aaa;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.bronze[data-v-9e0d419f]{background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.bronzeact[data-v-9e0d419f]{color:#00f;background-color:#f0c0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.unofficial[data-v-9e0d419f]{background-color:#fff;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.honorable[data-v-9e0d419f]{background-color:#e6f7ff;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.first-solve[data-v-9e0d419f]{background-color:#3db03d;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.incorrect[data-v-9e0d419f]{background-color:#ffd0d0;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.correct[data-v-9e0d419f]{background-color:#e1ffb5;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.unattempted[data-v-9e0d419f]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}.dark td.unattempted[data-v-9e0d419f]{color:#fff}th.success[data-v-9e0d419f]{background-color:#a0f0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.title[data-v-9e0d419f],td.title[data-v-9e0d419f]{background-color:#f5f5d5;font-size:12px;border-width:0px;border-color:#000;margin:1px}th.tried[data-v-9e0d419f]{background-color:#ffa0a0;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.pending[data-v-9e0d419f]{background-color:#c8d6fa;font-size:12px;border-width:0px;border-color:#000;margin:1px;font-weight:700}td.upsolved[data-v-9e0d419f]{font-size:12px;border-width:0px;border-color:#000;margin:1px;color:red}td.virtual[data-v-9e0d419f]{color:#00f;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.alive[data-v-9e0d419f]{color:red;font-size:12px;border-width:0px;border-color:#000;margin:1px}td.empty[data-v-9e0d419f]{background-color:var(--global-background);font-size:12px;border-width:0px;border-color:#000;margin:1px}th.stnd[data-v-9e0d419f]{font-size:12px;border-width:0px;border-color:#000;margin:1px}td.o01[data-v-9e0d419f]{background-color:#004080}tr.solver[data-v-9e0d419f]{background-color:#f0c0a0}tr.statistics-0[data-v-9e0d419f]{background-color:#95de64}tr.statistics-1[data-v-9e0d419f]{background-color:#b7eb8f}td.o00[data-v-9e0d419f]{background-color:#004080}td.stand00[data-v-9e0d419f]{background-color:#e0e0ff}td.stand01[data-v-9e0d419f]{background-color:#e8e8ff}td.stand10[data-v-9e0d419f]{background-color:#f8f8f8}td.stand11[data-v-9e0d419f]{background-color:#f2f2f2}tr.filter-team[data-v-9e0d419f]{background-color:#ffffe0}tr.cfres01[data-v-9e0d419f]{background-color:#ffffb0}table.matches[data-v-9e0d419f]{table-layout:fixed}td.match[data-v-9e0d419f]{height:6em;width:2em}.coderTextRed[data-v-9e0d419f],.coderTextYellow[data-v-9e0d419f],.coderTextViolet[data-v-9e0d419f],.coderTextBlue[data-v-9e0d419f],.coderTextGreen[data-v-9e0d419f],.coderTextGray[data-v-9e0d419f],.coderTextOrange[data-v-9e0d419f]{font-weight:700;background-color:transparent}.coderTextRed[data-v-9e0d419f]:link,.coderTextYellow[data-v-9e0d419f]:link,.coderTextViolet[data-v-9e0d419f]:link,.coderTextBlue[data-v-9e0d419f]:link,.coderTextGreen[data-v-9e0d419f]:link,.coderTextGray[data-v-9e0d419f]:link,.coderTextOrange[data-v-9e0d419f]:link,.coderTextWhite[data-v-9e0d419f]:link,.coderTextBlack[data-v-9e0d419f]:link,.coderTextRed[data-v-9e0d419f]:visited,.coderTextYellow[data-v-9e0d419f]:visited,.coderTextViolet[data-v-9e0d419f]:visited,.coderTextBlue[data-v-9e0d419f]:visited,.coderTextGreen[data-v-9e0d419f]:visited,.coderTextGray[data-v-9e0d419f]:visited,.coderTextOrange[data-v-9e0d419f]:visited,.coderTextWhite[data-v-9e0d419f]:visited,.coderTextBlack[data-v-9e0d419f]:visited{text-decoration:none}.coderTextRed[data-v-9e0d419f]:hover,.coderTextYellow[data-v-9e0d419f]:hover,.coderTextViolet[data-v-9e0d419f]:hover,.coderTextBlue[data-v-9e0d419f]:hover,.coderTextGreen[data-v-9e0d419f]:hover,.coderTextGray[data-v-9e0d419f]:hover,.coderTextOrange[data-v-9e0d419f]:hover,.coderTextWhite[data-v-9e0d419f]:hover,.coderTextBlack[data-v-9e0d419f]:hover,.coderTextRed[data-v-9e0d419f]:active,.coderTextYellow[data-v-9e0d419f]:active,.coderTextViolet[data-v-9e0d419f]:active,.coderTextBlue[data-v-9e0d419f]:active,.coderTextGreen[data-v-9e0d419f]:active,.coderTextGray[data-v-9e0d419f]:active,.coderTextOrange[data-v-9e0d419f]:active,.coderTextWhite[data-v-9e0d419f]:active,.coderTextBlack[data-v-9e0d419f]:active{text-decoration:underline}.coderTextOrange[data-v-9e0d419f],.coderTextOrange[data-v-9e0d419f]:link,.coderTextOrange[data-v-9e0d419f]:visited,.coderTextOrange[data-v-9e0d419f]:hover,.coderTextOrange[data-v-9e0d419f]:active{color:#f90}.coderTextRed[data-v-9e0d419f],.coderTextRed[data-v-9e0d419f]:link,.coderTextRed[data-v-9e0d419f]:visited,.coderTextRed[data-v-9e0d419f]:hover,.coderTextRed[data-v-9e0d419f]:active{color:#e00}.coderTextYellow[data-v-9e0d419f],.coderTextYellow[data-v-9e0d419f]:link,.coderTextYellow[data-v-9e0d419f]:visited,.coderTextYellow[data-v-9e0d419f]:hover,.coderTextYellow[data-v-9e0d419f]:active{color:#dc0}.coderTextViolet[data-v-9e0d419f],.coderTextViolet[data-v-9e0d419f]:link,.coderTextViolet[data-v-9e0d419f]:visited,.coderTextViolet[data-v-9e0d419f]:hover,.coderTextViolet[data-v-9e0d419f]:active{color:#a0a}.coderTextBlue[data-v-9e0d419f],.coderTextBlue[data-v-9e0d419f]:link,.coderTextBlue[data-v-9e0d419f]:visited,.coderTextBlue[data-v-9e0d419f]:hover,.coderTextBlue[data-v-9e0d419f]:active{color:#66f}.coderTextGreen[data-v-9e0d419f],.coderTextGreen[data-v-9e0d419f]:link,.coderTextGreen[data-v-9e0d419f]:visited,.coderTextGreen[data-v-9e0d419f]:hover,.coderTextGreen[data-v-9e0d419f]:active{color:#00a900}.coderTextGray[data-v-9e0d419f],.coderTextGray[data-v-9e0d419f]:link,.coderTextGray[data-v-9e0d419f]:visited,.coderTextGray[data-v-9e0d419f]:hover,.coderTextGray[data-v-9e0d419f]:active{color:#999}.coderTextWhite[data-v-9e0d419f],.coderTextWhite[data-v-9e0d419f]:link,.coderTextWhite[data-v-9e0d419f]:visited,.coderTextWhite[data-v-9e0d419f]:hover,.coderTextWhite[data-v-9e0d419f]:active{color:#fff}.coderTextBlack[data-v-9e0d419f],.coderTextBlack[data-v-9e0d419f]:link,.coderTextBlack[data-v-9e0d419f]:visited,.coderTextBlack[data-v-9e0d419f]:hover,.coderTextBlack[data-v-9e0d419f]:active{color:#000}s[data-v-9e0d419f]{font-size:10px;font-style:normal;font-weight:700;text-decoration:none}.announce[data-v-9e0d419f]{padding:0 8px;float:right;width:50%;border:1px solid #004080;margin-left:8px}p.nmessage[data-v-9e0d419f]{text-align:justify}a[data-v-9e0d419f]{color:#004080}td.topmenu a[data-v-9e0d419f]{color:#fff;text-decoration:none;cursor:hand}td.topmenu a[data-v-9e0d419f]:hover{color:silver}td.topmenu[data-v-9e0d419f]{text-align:center;font-weight:700;font-style:oblique}td.topmenu div[data-v-9e0d419f]{background-color:#004080;height:25px;padding-top:2px}td.menuleft a[data-v-9e0d419f]{color:#fff;text-decoration:none;cursor:hand}td.menuleft a[data-v-9e0d419f]:hover{color:silver}td.menuleft[data-v-9e0d419f]{font-weight:700;font-size:16px;color:#640d00;font-style:oblique;text-align:left}td.menuleft div[data-v-9e0d419f]{padding:4px 8px;white-space:nowrap;background-color:#004080;text-align:center}td.newsselectcontainer[data-v-9e0d419f]{height:25px;width:190px}td.newsselectcontainer form[data-v-9e0d419f]{margin:0}td.newsselectcontainer select[data-v-9e0d419f]{background-color:#004080;color:#fff;width:140px;font-style:oblique;font-weight:700}.newsselectbtn[data-v-9e0d419f]{background-color:#004080;color:#fff;width:42px;height:23px;font-weight:700}.menuleftblock[data-v-9e0d419f]{border:1px solid #004080}.memorial[data-v-9e0d419f]{padding:0 8px;border:2px solid #000000}.menu[data-v-9e0d419f]{z-index:1000;font-size:1em;height:2em}.menu ul[data-v-9e0d419f]{padding:0;margin:0;list-style-type:none;height:2em;background:#004080}.menu ul ul[data-v-9e0d419f]{width:15em}.menu ul li[data-v-9e0d419f]{float:left;height:2em;line-height:2em}.menu ul ul li[data-v-9e0d419f]{display:block;width:12em;height:auto;position:relative;line-height:1em}.menu a[data-v-9e0d419f],.menu a[data-v-9e0d419f]:visited{display:block;float:left;height:100%;font-size:1em;text-decoration:none;color:#fff;background:#004080;padding:0 3em;text-align:center;font-weight:700;font-style:oblique}.menu ul ul a[data-v-9e0d419f],.menu ul ul a[data-v-9e0d419f]:visited{display:block;background:#004080;color:#fff;width:12em;height:100%;border:1px solid #fff;line-height:1em;padding:.5em 1em;text-align:center;font-weight:700;font-style:oblique}.menu ul table ul a[data-v-9e0d419f],.menu ul table ul a[data-v-9e0d419f]:visited{width:14em;width:12em}.menu table[data-v-9e0d419f]{position:absolute;left:0;top:0;font-size:1em;z-index:-1}.menu ul ul table[data-v-9e0d419f]{left:-1px}.menu ul ul table ul.left[data-v-9e0d419f]{margin-left:2px}.menu li[data-v-9e0d419f]:hover,html .menu a[data-v-9e0d419f]:hover{position:relative}.menu ul ul ul a[data-v-9e0d419f],.menu ul ul ul a[data-v-9e0d419f]:visited,.menu ul ul ul ul a[data-v-9e0d419f],.menu ul ul ul ul a[data-v-9e0d419f]:visited,.menu ul :hover a.sub1[data-v-9e0d419f],.menu ul ul :hover a.sub2[data-v-9e0d419f]{background:#004080}.menu a[data-v-9e0d419f]:hover{color:silver;background:#014181}.menu :hover>a[data-v-9e0d419f]{color:silver;background:#014181}.menu ul ul a[data-v-9e0d419f]:hover{color:silver;background:#014181}.menu ul ul :hover>a[data-v-9e0d419f]{color:silver;background:#014181}.menu ul ul ul a[data-v-9e0d419f]:hover{color:silver;background:#014181}.menu ul ul ul :hover>a[data-v-9e0d419f]{color:silver;background:#014181}.menu ul ul ul ul a[data-v-9e0d419f]:hover{color:silver;background:#014181}.menu ul ul[data-v-9e0d419f]{visibility:hidden;position:absolute;height:0;top:2em;left:0;width:14em}.menu ul ul ul[data-v-9e0d419f]{left:14em;top:0;width:14em}.menu ul ul ul.left[data-v-9e0d419f]{left:-14em}.menu ul li:hover ul[data-v-9e0d419f],.menu ul a:hover ul[data-v-9e0d419f]{visibility:visible;height:auto;padding-bottom:3em}.menu ul :hover ul ul[data-v-9e0d419f],.menu ul :hover ul :hover ul ul[data-v-9e0d419f]{visibility:hidden}.menu ul :hover ul :hover ul[data-v-9e0d419f],.menu ul :hover ul :hover ul :hover ul[data-v-9e0d419f]{visibility:visible}.lmenu[data-v-9e0d419f]{height:150px;font-size:90%}.lmenu ul[data-v-9e0d419f]{position:relative;z-index:500;padding:0;margin:0;list-style-type:none;width:15em}.lmenu li[data-v-9e0d419f]{color:#fff;height:2.6em;text-align:center;font-weight:700;font-style:oblique;float:left}.lmenu li div[data-v-9e0d419f]{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;text-indent:.5em;border:1px solid #fff;color:#004080;height:2.6em;float:left}.lmenu table[data-v-9e0d419f]{position:absolute;border-collapse:collapse;top:0;left:0;z-index:100;font-size:1em}.lmenu a[data-v-9e0d419f],.lmenu a[data-v-9e0d419f]:visited{display:block;text-decoration:none;height:2.5em;line-height:2.5em;width:15em;color:#fff;background:#004080;text-indent:.5em;border:1px solid #fff}html .lmenu a[data-v-9e0d419f],html .menu a[data-v-9e0d419f]:visited{width:150em;width:14.9em}html .lmenu a[data-v-9e0d419f]:hover{color:silver;background:#014181;position:relative}.lmenu li[data-v-9e0d419f]:hover{position:relative}.lmenu a[data-v-9e0d419f]:active,.lmenu a[data-v-9e0d419f]:focus{color:silver;background:#004080}.lmenu li:hover>a[data-v-9e0d419f]{color:silver;background:#014181}.lmenu li ul[data-v-9e0d419f]{visibility:hidden;position:absolute;top:-3em;left:10em;padding:3em}.lmenu li:hover>ul[data-v-9e0d419f]{visibility:visible}.lmenu ul a:hover ul ul[data-v-9e0d419f],.lmenu ul a:hover ul a:hover ul ul[data-v-9e0d419f],.lmenu ul a:hover ul a:hover ul a:hover ul ul[data-v-9e0d419f]{visibility:hidden}.lmenu ul a:hover ul[data-v-9e0d419f],.lmenu ul a:hover ul a:hover ul[data-v-9e0d419f],.lmenu ul a:hover ul a:hover ul a:hover ul[data-v-9e0d419f],.lmenu ul a:hover ul a:hover ul a:hover ul a:hover ul[data-v-9e0d419f]{visibility:visible}.title[data-v-d9fc6e36]{--scroll-bar: 0;font-variant:tabular-nums;line-height:1.5715;box-sizing:border-box;position:relative;overflow:hidden;text-align:center}