@claudinho/mcp 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/index.js +1176 -144
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -261,6 +261,151 @@ function nationToRegion(nameOrCode) {
|
|
|
261
261
|
if (byCode) return byCode;
|
|
262
262
|
return intlNameMap()[norm(nameOrCode)];
|
|
263
263
|
}
|
|
264
|
+
var EN = {
|
|
265
|
+
"bracket.title": "Knockout bracket",
|
|
266
|
+
"bracket.stageTitle": "Knockout \xB7 {stage}",
|
|
267
|
+
"bracket.shareTitle": "Knockout bracket \xB7 2026",
|
|
268
|
+
"bracket.degraded": "Live scores unavailable \u2014 bracket structure only, no confirmed advancement.",
|
|
269
|
+
"bracket.standingsDegraded": "Live standings unavailable \u2014 group slots stay TBD until groups finish.",
|
|
270
|
+
"bracket.treeFallback": "Terminal too narrow for tree view \u2014 showing staged list.",
|
|
271
|
+
"bracket.empty": "No bracket matches available.",
|
|
272
|
+
"bracket.projected": "(proj.)",
|
|
273
|
+
"bracket.invalidStage": "Stage must be one of: R32, R16, QF, SF, 3P, F",
|
|
274
|
+
"bracket.unknownStage": 'Unknown stage "{stage}". Use R32, R16, QF, SF, 3P, or F.',
|
|
275
|
+
"bracket.slot.groupWinner": "Group {group} winner",
|
|
276
|
+
"bracket.slot.groupSecond": "Group {group} 2nd",
|
|
277
|
+
"bracket.slot.third": "3rd ({groups})",
|
|
278
|
+
"bracket.slot.winner": "{stage} {n} winner",
|
|
279
|
+
"bracket.slot.loser": "{stage} {n} loser",
|
|
280
|
+
"bracket.slot.tbd": "TBD",
|
|
281
|
+
"live.data": "Live data: {source}",
|
|
282
|
+
"share.tryIt": "Try it: {line}",
|
|
283
|
+
"stage.group": "Group {group}",
|
|
284
|
+
"stage.groupStage": "Group stage",
|
|
285
|
+
"stage.r32": "Round of 32",
|
|
286
|
+
"stage.r16": "Round of 16",
|
|
287
|
+
"stage.qf": "Quarter-final",
|
|
288
|
+
"stage.sf": "Semi-final",
|
|
289
|
+
"stage.3p": "Third-place play-off",
|
|
290
|
+
"stage.f": "Final",
|
|
291
|
+
"stage.friendly": "Friendly"
|
|
292
|
+
};
|
|
293
|
+
var ES = {
|
|
294
|
+
"bracket.title": "Cuadro de eliminatorias",
|
|
295
|
+
"bracket.stageTitle": "Eliminatorias \xB7 {stage}",
|
|
296
|
+
"bracket.shareTitle": "Cuadro de eliminatorias \xB7 2026",
|
|
297
|
+
"bracket.degraded": "Marcadores en vivo no disponibles \u2014 solo estructura del cuadro, sin avances confirmados.",
|
|
298
|
+
"bracket.standingsDegraded": "Tabla en vivo no disponible \u2014 los cupos de grupo siguen por definir hasta que terminen los grupos.",
|
|
299
|
+
"bracket.treeFallback": "Terminal demasiado estrecha para el \xE1rbol \u2014 mostrando lista por fase.",
|
|
300
|
+
"bracket.empty": "No hay partidos de eliminatorias disponibles.",
|
|
301
|
+
"bracket.projected": "(proy.)",
|
|
302
|
+
"bracket.invalidStage": "La fase debe ser una de: R32, R16, QF, SF, 3P, F",
|
|
303
|
+
"bracket.unknownStage": 'Fase desconocida "{stage}". Usa R32, R16, QF, SF, 3P o F.',
|
|
304
|
+
"bracket.slot.groupWinner": "Ganador del grupo {group}",
|
|
305
|
+
"bracket.slot.groupSecond": "2.\xBA del grupo {group}",
|
|
306
|
+
"bracket.slot.third": "3.\xBA ({groups})",
|
|
307
|
+
"bracket.slot.winner": "Ganador {stage} {n}",
|
|
308
|
+
"bracket.slot.loser": "Perdedor {stage} {n}",
|
|
309
|
+
"bracket.slot.tbd": "Por definir",
|
|
310
|
+
"live.data": "Datos en vivo: {source}",
|
|
311
|
+
"share.tryIt": "Pru\xE9balo: {line}",
|
|
312
|
+
"stage.group": "Grupo {group}",
|
|
313
|
+
"stage.groupStage": "Fase de grupos",
|
|
314
|
+
"stage.r32": "Dieciseisavos de final",
|
|
315
|
+
"stage.r16": "Octavos de final",
|
|
316
|
+
"stage.qf": "Cuartos de final",
|
|
317
|
+
"stage.sf": "Semifinal",
|
|
318
|
+
"stage.3p": "Tercer puesto",
|
|
319
|
+
"stage.f": "Final",
|
|
320
|
+
"stage.friendly": "Amistoso"
|
|
321
|
+
};
|
|
322
|
+
var PT = {
|
|
323
|
+
"bracket.title": "Chave do mata-mata",
|
|
324
|
+
"bracket.stageTitle": "Mata-mata \xB7 {stage}",
|
|
325
|
+
"bracket.shareTitle": "Chave do mata-mata \xB7 2026",
|
|
326
|
+
"bracket.degraded": "Placar ao vivo indispon\xEDvel \u2014 apenas a estrutura da chave, sem avan\xE7os confirmados.",
|
|
327
|
+
"bracket.standingsDegraded": "Classifica\xE7\xE3o ao vivo indispon\xEDvel \u2014 vagas de grupo seguem a definir at\xE9 o fim dos grupos.",
|
|
328
|
+
"bracket.treeFallback": "Terminal estreito demais para a \xE1rvore \u2014 mostrando lista por fase.",
|
|
329
|
+
"bracket.empty": "Nenhum jogo do mata-mata dispon\xEDvel.",
|
|
330
|
+
"bracket.projected": "(proj.)",
|
|
331
|
+
"bracket.invalidStage": "A fase deve ser uma de: R32, R16, QF, SF, 3P, F",
|
|
332
|
+
"bracket.unknownStage": 'Fase desconhecida "{stage}". Use R32, R16, QF, SF, 3P ou F.',
|
|
333
|
+
"bracket.slot.groupWinner": "Vencedor do grupo {group}",
|
|
334
|
+
"bracket.slot.groupSecond": "2.\xBA do grupo {group}",
|
|
335
|
+
"bracket.slot.third": "3.\xBA ({groups})",
|
|
336
|
+
"bracket.slot.winner": "Vencedor {stage} {n}",
|
|
337
|
+
"bracket.slot.loser": "Perdedor {stage} {n}",
|
|
338
|
+
"bracket.slot.tbd": "A definir",
|
|
339
|
+
"live.data": "Dados ao vivo: {source}",
|
|
340
|
+
"share.tryIt": "Experimente: {line}",
|
|
341
|
+
"stage.group": "Grupo {group}",
|
|
342
|
+
"stage.groupStage": "Fase de grupos",
|
|
343
|
+
"stage.r32": "Fase de 32 equipes",
|
|
344
|
+
"stage.r16": "Oitavas de final",
|
|
345
|
+
"stage.qf": "Quartas de final",
|
|
346
|
+
"stage.sf": "Semifinal",
|
|
347
|
+
"stage.3p": "Disputa do 3.\xBA lugar",
|
|
348
|
+
"stage.f": "Final",
|
|
349
|
+
"stage.friendly": "Amistoso"
|
|
350
|
+
};
|
|
351
|
+
var FR = {
|
|
352
|
+
"bracket.title": "Tableau \xE0 \xE9limination directe",
|
|
353
|
+
"bracket.stageTitle": "\xC9liminatoires \xB7 {stage}",
|
|
354
|
+
"bracket.shareTitle": "Tableau \xE0 \xE9limination directe \xB7 2026",
|
|
355
|
+
"bracket.degraded": "Scores en direct indisponibles \u2014 structure du tableau seulement, aucune qualification confirm\xE9e.",
|
|
356
|
+
"bracket.standingsDegraded": "Classement en direct indisponible \u2014 les places de groupe restent \xE0 d\xE9finir jusqu\u2019\xE0 la fin des poules.",
|
|
357
|
+
"bracket.treeFallback": "Terminal trop \xE9troit pour l\u2019arbre \u2014 affichage par phase.",
|
|
358
|
+
"bracket.empty": "Aucun match \xE0 \xE9limination directe disponible.",
|
|
359
|
+
"bracket.projected": "(proj.)",
|
|
360
|
+
"bracket.invalidStage": "La phase doit \xEAtre l\u2019une de : R32, R16, QF, SF, 3P, F",
|
|
361
|
+
"bracket.unknownStage": "Phase inconnue \xAB {stage} \xBB. Utilisez R32, R16, QF, SF, 3P ou F.",
|
|
362
|
+
"bracket.slot.groupWinner": "Vainqueur du groupe {group}",
|
|
363
|
+
"bracket.slot.groupSecond": "2e du groupe {group}",
|
|
364
|
+
"bracket.slot.third": "3e ({groups})",
|
|
365
|
+
"bracket.slot.winner": "Vainqueur {stage} {n}",
|
|
366
|
+
"bracket.slot.loser": "Perdant {stage} {n}",
|
|
367
|
+
"bracket.slot.tbd": "\xC0 d\xE9finir",
|
|
368
|
+
"live.data": "Donn\xE9es en direct : {source}",
|
|
369
|
+
"share.tryIt": "Essayez : {line}",
|
|
370
|
+
"stage.group": "Groupe {group}",
|
|
371
|
+
"stage.groupStage": "Phase de groupes",
|
|
372
|
+
"stage.r32": "Seizi\xE8mes de finale",
|
|
373
|
+
"stage.r16": "Huiti\xE8mes de finale",
|
|
374
|
+
"stage.qf": "Quarts de finale",
|
|
375
|
+
"stage.sf": "Demi-finale",
|
|
376
|
+
"stage.3p": "Match pour la 3e place",
|
|
377
|
+
"stage.f": "Finale",
|
|
378
|
+
"stage.friendly": "Match amical"
|
|
379
|
+
};
|
|
380
|
+
var CATALOGS = { en: EN, es: ES, pt: PT, fr: FR };
|
|
381
|
+
function normalizeLang(lang) {
|
|
382
|
+
const code = (lang ?? "en").slice(0, 2).toLowerCase();
|
|
383
|
+
if (code === "es" || code === "pt" || code === "fr") return code;
|
|
384
|
+
return "en";
|
|
385
|
+
}
|
|
386
|
+
function t(lang, key, vars) {
|
|
387
|
+
const dict = CATALOGS[normalizeLang(lang)];
|
|
388
|
+
let s = dict[key] ?? EN[key] ?? key;
|
|
389
|
+
if (vars) {
|
|
390
|
+
for (const [k, v] of Object.entries(vars)) s = s.replaceAll(`{${k}}`, v);
|
|
391
|
+
}
|
|
392
|
+
return s;
|
|
393
|
+
}
|
|
394
|
+
var STAGE_KEYS = {
|
|
395
|
+
GROUP: "stage.groupStage",
|
|
396
|
+
R32: "stage.r32",
|
|
397
|
+
R16: "stage.r16",
|
|
398
|
+
QF: "stage.qf",
|
|
399
|
+
SF: "stage.sf",
|
|
400
|
+
"3P": "stage.3p",
|
|
401
|
+
F: "stage.f",
|
|
402
|
+
FRIENDLY: "stage.friendly"
|
|
403
|
+
};
|
|
404
|
+
function stageLabelI18n(lang, stage, group) {
|
|
405
|
+
if (group) return t(lang, "stage.group", { group });
|
|
406
|
+
const key = STAGE_KEYS[stage];
|
|
407
|
+
return key ? t(lang, key) : stage;
|
|
408
|
+
}
|
|
264
409
|
function isValidTimeZone(tz) {
|
|
265
410
|
if (!tz) return false;
|
|
266
411
|
try {
|
|
@@ -354,6 +499,11 @@ function localDate(iso, tz) {
|
|
|
354
499
|
timeZone: zone
|
|
355
500
|
}).format(new Date(iso));
|
|
356
501
|
}
|
|
502
|
+
function outcomeFromScore(home, away) {
|
|
503
|
+
if (home > away) return "H";
|
|
504
|
+
if (home < away) return "A";
|
|
505
|
+
return "D";
|
|
506
|
+
}
|
|
357
507
|
function isLive(status) {
|
|
358
508
|
return status === "LIVE" || status === "HT";
|
|
359
509
|
}
|
|
@@ -481,7 +631,7 @@ var schedule_2026_default = [
|
|
|
481
631
|
flag: "\u{1F1FF}\u{1F1E6}"
|
|
482
632
|
},
|
|
483
633
|
status: "SCHEDULED",
|
|
484
|
-
updatedAt: "2026-06-
|
|
634
|
+
updatedAt: "2026-06-24T01:20:06.301Z"
|
|
485
635
|
},
|
|
486
636
|
{
|
|
487
637
|
id: "760414",
|
|
@@ -502,7 +652,7 @@ var schedule_2026_default = [
|
|
|
502
652
|
flag: "\u{1F1E8}\u{1F1FF}"
|
|
503
653
|
},
|
|
504
654
|
status: "SCHEDULED",
|
|
505
|
-
updatedAt: "2026-06-
|
|
655
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
506
656
|
},
|
|
507
657
|
{
|
|
508
658
|
id: "760416",
|
|
@@ -523,7 +673,7 @@ var schedule_2026_default = [
|
|
|
523
673
|
flag: "\u{1F1E7}\u{1F1E6}"
|
|
524
674
|
},
|
|
525
675
|
status: "SCHEDULED",
|
|
526
|
-
updatedAt: "2026-06-
|
|
676
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
527
677
|
},
|
|
528
678
|
{
|
|
529
679
|
id: "760417",
|
|
@@ -544,7 +694,7 @@ var schedule_2026_default = [
|
|
|
544
694
|
flag: "\u{1F1F5}\u{1F1FE}"
|
|
545
695
|
},
|
|
546
696
|
status: "SCHEDULED",
|
|
547
|
-
updatedAt: "2026-06-
|
|
697
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
548
698
|
},
|
|
549
699
|
{
|
|
550
700
|
id: "760420",
|
|
@@ -565,7 +715,7 @@ var schedule_2026_default = [
|
|
|
565
715
|
flag: "\u{1F1E8}\u{1F1ED}"
|
|
566
716
|
},
|
|
567
717
|
status: "SCHEDULED",
|
|
568
|
-
updatedAt: "2026-06-
|
|
718
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
569
719
|
},
|
|
570
720
|
{
|
|
571
721
|
id: "760419",
|
|
@@ -586,7 +736,7 @@ var schedule_2026_default = [
|
|
|
586
736
|
flag: "\u{1F1F2}\u{1F1E6}"
|
|
587
737
|
},
|
|
588
738
|
status: "SCHEDULED",
|
|
589
|
-
updatedAt: "2026-06-
|
|
739
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
590
740
|
},
|
|
591
741
|
{
|
|
592
742
|
id: "760418",
|
|
@@ -607,7 +757,7 @@ var schedule_2026_default = [
|
|
|
607
757
|
flag: "\u{1F3F4}\u{E0067}\u{E0062}\u{E0073}\u{E0063}\u{E0074}\u{E007F}"
|
|
608
758
|
},
|
|
609
759
|
status: "SCHEDULED",
|
|
610
|
-
updatedAt: "2026-06-
|
|
760
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
611
761
|
},
|
|
612
762
|
{
|
|
613
763
|
id: "760421",
|
|
@@ -628,7 +778,7 @@ var schedule_2026_default = [
|
|
|
628
778
|
flag: "\u{1F1F9}\u{1F1F7}"
|
|
629
779
|
},
|
|
630
780
|
status: "SCHEDULED",
|
|
631
|
-
updatedAt: "2026-06-
|
|
781
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
632
782
|
},
|
|
633
783
|
{
|
|
634
784
|
id: "760422",
|
|
@@ -649,7 +799,7 @@ var schedule_2026_default = [
|
|
|
649
799
|
flag: "\u{1F1E8}\u{1F1FC}"
|
|
650
800
|
},
|
|
651
801
|
status: "SCHEDULED",
|
|
652
|
-
updatedAt: "2026-06-
|
|
802
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
653
803
|
},
|
|
654
804
|
{
|
|
655
805
|
id: "760425",
|
|
@@ -670,7 +820,7 @@ var schedule_2026_default = [
|
|
|
670
820
|
flag: "\u{1F1EF}\u{1F1F5}"
|
|
671
821
|
},
|
|
672
822
|
status: "SCHEDULED",
|
|
673
|
-
updatedAt: "2026-06-
|
|
823
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
674
824
|
},
|
|
675
825
|
{
|
|
676
826
|
id: "760423",
|
|
@@ -691,7 +841,7 @@ var schedule_2026_default = [
|
|
|
691
841
|
flag: "\u{1F1EA}\u{1F1E8}"
|
|
692
842
|
},
|
|
693
843
|
status: "SCHEDULED",
|
|
694
|
-
updatedAt: "2026-06-
|
|
844
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
695
845
|
},
|
|
696
846
|
{
|
|
697
847
|
id: "760424",
|
|
@@ -712,7 +862,7 @@ var schedule_2026_default = [
|
|
|
712
862
|
flag: "\u{1F1F9}\u{1F1F3}"
|
|
713
863
|
},
|
|
714
864
|
status: "SCHEDULED",
|
|
715
|
-
updatedAt: "2026-06-
|
|
865
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
716
866
|
},
|
|
717
867
|
{
|
|
718
868
|
id: "760428",
|
|
@@ -733,7 +883,7 @@ var schedule_2026_default = [
|
|
|
733
883
|
flag: "\u{1F1E8}\u{1F1FB}"
|
|
734
884
|
},
|
|
735
885
|
status: "SCHEDULED",
|
|
736
|
-
updatedAt: "2026-06-
|
|
886
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
737
887
|
},
|
|
738
888
|
{
|
|
739
889
|
id: "760426",
|
|
@@ -754,7 +904,7 @@ var schedule_2026_default = [
|
|
|
754
904
|
flag: "\u{1F1EA}\u{1F1EC}"
|
|
755
905
|
},
|
|
756
906
|
status: "SCHEDULED",
|
|
757
|
-
updatedAt: "2026-06-
|
|
907
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
758
908
|
},
|
|
759
909
|
{
|
|
760
910
|
id: "760429",
|
|
@@ -775,7 +925,7 @@ var schedule_2026_default = [
|
|
|
775
925
|
flag: "\u{1F1FA}\u{1F1FE}"
|
|
776
926
|
},
|
|
777
927
|
status: "SCHEDULED",
|
|
778
|
-
updatedAt: "2026-06-
|
|
928
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
779
929
|
},
|
|
780
930
|
{
|
|
781
931
|
id: "760427",
|
|
@@ -796,7 +946,7 @@ var schedule_2026_default = [
|
|
|
796
946
|
flag: "\u{1F1F3}\u{1F1FF}"
|
|
797
947
|
},
|
|
798
948
|
status: "SCHEDULED",
|
|
799
|
-
updatedAt: "2026-06-
|
|
949
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
800
950
|
},
|
|
801
951
|
{
|
|
802
952
|
id: "760432",
|
|
@@ -817,7 +967,7 @@ var schedule_2026_default = [
|
|
|
817
967
|
flag: "\u{1F1F8}\u{1F1F3}"
|
|
818
968
|
},
|
|
819
969
|
status: "SCHEDULED",
|
|
820
|
-
updatedAt: "2026-06-
|
|
970
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
821
971
|
},
|
|
822
972
|
{
|
|
823
973
|
id: "760430",
|
|
@@ -838,7 +988,7 @@ var schedule_2026_default = [
|
|
|
838
988
|
flag: "\u{1F1F3}\u{1F1F4}"
|
|
839
989
|
},
|
|
840
990
|
status: "SCHEDULED",
|
|
841
|
-
updatedAt: "2026-06-
|
|
991
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
842
992
|
},
|
|
843
993
|
{
|
|
844
994
|
id: "760433",
|
|
@@ -859,7 +1009,7 @@ var schedule_2026_default = [
|
|
|
859
1009
|
flag: "\u{1F1E9}\u{1F1FF}"
|
|
860
1010
|
},
|
|
861
1011
|
status: "SCHEDULED",
|
|
862
|
-
updatedAt: "2026-06-
|
|
1012
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
863
1013
|
},
|
|
864
1014
|
{
|
|
865
1015
|
id: "760431",
|
|
@@ -880,7 +1030,7 @@ var schedule_2026_default = [
|
|
|
880
1030
|
flag: "\u{1F1EF}\u{1F1F4}"
|
|
881
1031
|
},
|
|
882
1032
|
status: "SCHEDULED",
|
|
883
|
-
updatedAt: "2026-06-
|
|
1033
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
884
1034
|
},
|
|
885
1035
|
{
|
|
886
1036
|
id: "760435",
|
|
@@ -901,7 +1051,7 @@ var schedule_2026_default = [
|
|
|
901
1051
|
flag: "\u{1F1E8}\u{1F1E9}"
|
|
902
1052
|
},
|
|
903
1053
|
status: "SCHEDULED",
|
|
904
|
-
updatedAt: "2026-06-
|
|
1054
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
905
1055
|
},
|
|
906
1056
|
{
|
|
907
1057
|
id: "760437",
|
|
@@ -922,7 +1072,7 @@ var schedule_2026_default = [
|
|
|
922
1072
|
flag: "\u{1F1ED}\u{1F1F7}"
|
|
923
1073
|
},
|
|
924
1074
|
status: "SCHEDULED",
|
|
925
|
-
updatedAt: "2026-06-
|
|
1075
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
926
1076
|
},
|
|
927
1077
|
{
|
|
928
1078
|
id: "760434",
|
|
@@ -943,7 +1093,7 @@ var schedule_2026_default = [
|
|
|
943
1093
|
flag: "\u{1F1F5}\u{1F1E6}"
|
|
944
1094
|
},
|
|
945
1095
|
status: "SCHEDULED",
|
|
946
|
-
updatedAt: "2026-06-
|
|
1096
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
947
1097
|
},
|
|
948
1098
|
{
|
|
949
1099
|
id: "760436",
|
|
@@ -964,7 +1114,7 @@ var schedule_2026_default = [
|
|
|
964
1114
|
flag: "\u{1F1E8}\u{1F1F4}"
|
|
965
1115
|
},
|
|
966
1116
|
status: "SCHEDULED",
|
|
967
|
-
updatedAt: "2026-06-
|
|
1117
|
+
updatedAt: "2026-06-24T01:20:06.302Z"
|
|
968
1118
|
},
|
|
969
1119
|
{
|
|
970
1120
|
id: "760438",
|
|
@@ -985,7 +1135,7 @@ var schedule_2026_default = [
|
|
|
985
1135
|
flag: "\u{1F1FF}\u{1F1E6}"
|
|
986
1136
|
},
|
|
987
1137
|
status: "SCHEDULED",
|
|
988
|
-
updatedAt: "2026-06-
|
|
1138
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
989
1139
|
},
|
|
990
1140
|
{
|
|
991
1141
|
id: "760439",
|
|
@@ -1006,7 +1156,7 @@ var schedule_2026_default = [
|
|
|
1006
1156
|
flag: "\u{1F1E7}\u{1F1E6}"
|
|
1007
1157
|
},
|
|
1008
1158
|
status: "SCHEDULED",
|
|
1009
|
-
updatedAt: "2026-06-
|
|
1159
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1010
1160
|
},
|
|
1011
1161
|
{
|
|
1012
1162
|
id: "760440",
|
|
@@ -1027,7 +1177,7 @@ var schedule_2026_default = [
|
|
|
1027
1177
|
flag: "\u{1F1F6}\u{1F1E6}"
|
|
1028
1178
|
},
|
|
1029
1179
|
status: "SCHEDULED",
|
|
1030
|
-
updatedAt: "2026-06-
|
|
1180
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1031
1181
|
},
|
|
1032
1182
|
{
|
|
1033
1183
|
id: "760441",
|
|
@@ -1048,7 +1198,7 @@ var schedule_2026_default = [
|
|
|
1048
1198
|
flag: "\u{1F1F0}\u{1F1F7}"
|
|
1049
1199
|
},
|
|
1050
1200
|
status: "SCHEDULED",
|
|
1051
|
-
updatedAt: "2026-06-
|
|
1201
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1052
1202
|
},
|
|
1053
1203
|
{
|
|
1054
1204
|
id: "760442",
|
|
@@ -1069,7 +1219,7 @@ var schedule_2026_default = [
|
|
|
1069
1219
|
flag: "\u{1F1E6}\u{1F1FA}"
|
|
1070
1220
|
},
|
|
1071
1221
|
status: "SCHEDULED",
|
|
1072
|
-
updatedAt: "2026-06-
|
|
1222
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1073
1223
|
},
|
|
1074
1224
|
{
|
|
1075
1225
|
id: "760445",
|
|
@@ -1090,7 +1240,7 @@ var schedule_2026_default = [
|
|
|
1090
1240
|
flag: "\u{1F1F2}\u{1F1E6}"
|
|
1091
1241
|
},
|
|
1092
1242
|
status: "SCHEDULED",
|
|
1093
|
-
updatedAt: "2026-06-
|
|
1243
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1094
1244
|
},
|
|
1095
1245
|
{
|
|
1096
1246
|
id: "760444",
|
|
@@ -1111,7 +1261,7 @@ var schedule_2026_default = [
|
|
|
1111
1261
|
flag: "\u{1F1ED}\u{1F1F9}"
|
|
1112
1262
|
},
|
|
1113
1263
|
status: "SCHEDULED",
|
|
1114
|
-
updatedAt: "2026-06-
|
|
1264
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1115
1265
|
},
|
|
1116
1266
|
{
|
|
1117
1267
|
id: "760443",
|
|
@@ -1132,7 +1282,7 @@ var schedule_2026_default = [
|
|
|
1132
1282
|
flag: "\u{1F1F5}\u{1F1FE}"
|
|
1133
1283
|
},
|
|
1134
1284
|
status: "SCHEDULED",
|
|
1135
|
-
updatedAt: "2026-06-
|
|
1285
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1136
1286
|
},
|
|
1137
1287
|
{
|
|
1138
1288
|
id: "760447",
|
|
@@ -1153,7 +1303,7 @@ var schedule_2026_default = [
|
|
|
1153
1303
|
flag: "\u{1F1F8}\u{1F1EA}"
|
|
1154
1304
|
},
|
|
1155
1305
|
status: "SCHEDULED",
|
|
1156
|
-
updatedAt: "2026-06-
|
|
1306
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1157
1307
|
},
|
|
1158
1308
|
{
|
|
1159
1309
|
id: "760448",
|
|
@@ -1174,7 +1324,7 @@ var schedule_2026_default = [
|
|
|
1174
1324
|
flag: "\u{1F1E8}\u{1F1EE}"
|
|
1175
1325
|
},
|
|
1176
1326
|
status: "SCHEDULED",
|
|
1177
|
-
updatedAt: "2026-06-
|
|
1327
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1178
1328
|
},
|
|
1179
1329
|
{
|
|
1180
1330
|
id: "760446",
|
|
@@ -1195,7 +1345,7 @@ var schedule_2026_default = [
|
|
|
1195
1345
|
flag: "\u{1F1E8}\u{1F1FC}"
|
|
1196
1346
|
},
|
|
1197
1347
|
status: "SCHEDULED",
|
|
1198
|
-
updatedAt: "2026-06-
|
|
1348
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1199
1349
|
},
|
|
1200
1350
|
{
|
|
1201
1351
|
id: "760449",
|
|
@@ -1216,7 +1366,7 @@ var schedule_2026_default = [
|
|
|
1216
1366
|
flag: "\u{1F1EF}\u{1F1F5}"
|
|
1217
1367
|
},
|
|
1218
1368
|
status: "SCHEDULED",
|
|
1219
|
-
updatedAt: "2026-06-
|
|
1369
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1220
1370
|
},
|
|
1221
1371
|
{
|
|
1222
1372
|
id: "760453",
|
|
@@ -1237,7 +1387,7 @@ var schedule_2026_default = [
|
|
|
1237
1387
|
flag: "\u{1F1F8}\u{1F1E6}"
|
|
1238
1388
|
},
|
|
1239
1389
|
status: "SCHEDULED",
|
|
1240
|
-
updatedAt: "2026-06-
|
|
1390
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1241
1391
|
},
|
|
1242
1392
|
{
|
|
1243
1393
|
id: "760451",
|
|
@@ -1258,7 +1408,7 @@ var schedule_2026_default = [
|
|
|
1258
1408
|
flag: "\u{1F1EE}\u{1F1F7}"
|
|
1259
1409
|
},
|
|
1260
1410
|
status: "SCHEDULED",
|
|
1261
|
-
updatedAt: "2026-06-
|
|
1411
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1262
1412
|
},
|
|
1263
1413
|
{
|
|
1264
1414
|
id: "760450",
|
|
@@ -1279,7 +1429,7 @@ var schedule_2026_default = [
|
|
|
1279
1429
|
flag: "\u{1F1E8}\u{1F1FB}"
|
|
1280
1430
|
},
|
|
1281
1431
|
status: "SCHEDULED",
|
|
1282
|
-
updatedAt: "2026-06-
|
|
1432
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1283
1433
|
},
|
|
1284
1434
|
{
|
|
1285
1435
|
id: "760452",
|
|
@@ -1300,7 +1450,7 @@ var schedule_2026_default = [
|
|
|
1300
1450
|
flag: "\u{1F1EA}\u{1F1EC}"
|
|
1301
1451
|
},
|
|
1302
1452
|
status: "SCHEDULED",
|
|
1303
|
-
updatedAt: "2026-06-
|
|
1453
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1304
1454
|
},
|
|
1305
1455
|
{
|
|
1306
1456
|
id: "760456",
|
|
@@ -1321,7 +1471,7 @@ var schedule_2026_default = [
|
|
|
1321
1471
|
flag: "\u{1F1E6}\u{1F1F9}"
|
|
1322
1472
|
},
|
|
1323
1473
|
status: "SCHEDULED",
|
|
1324
|
-
updatedAt: "2026-06-
|
|
1474
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1325
1475
|
},
|
|
1326
1476
|
{
|
|
1327
1477
|
id: "760457",
|
|
@@ -1342,7 +1492,7 @@ var schedule_2026_default = [
|
|
|
1342
1492
|
flag: "\u{1F1EE}\u{1F1F6}"
|
|
1343
1493
|
},
|
|
1344
1494
|
status: "SCHEDULED",
|
|
1345
|
-
updatedAt: "2026-06-
|
|
1495
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1346
1496
|
},
|
|
1347
1497
|
{
|
|
1348
1498
|
id: "760454",
|
|
@@ -1363,7 +1513,7 @@ var schedule_2026_default = [
|
|
|
1363
1513
|
flag: "\u{1F1F8}\u{1F1F3}"
|
|
1364
1514
|
},
|
|
1365
1515
|
status: "SCHEDULED",
|
|
1366
|
-
updatedAt: "2026-06-
|
|
1516
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1367
1517
|
},
|
|
1368
1518
|
{
|
|
1369
1519
|
id: "760455",
|
|
@@ -1384,7 +1534,7 @@ var schedule_2026_default = [
|
|
|
1384
1534
|
flag: "\u{1F1E9}\u{1F1FF}"
|
|
1385
1535
|
},
|
|
1386
1536
|
status: "SCHEDULED",
|
|
1387
|
-
updatedAt: "2026-06-
|
|
1537
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1388
1538
|
},
|
|
1389
1539
|
{
|
|
1390
1540
|
id: "760461",
|
|
@@ -1405,7 +1555,7 @@ var schedule_2026_default = [
|
|
|
1405
1555
|
flag: "\u{1F1FA}\u{1F1FF}"
|
|
1406
1556
|
},
|
|
1407
1557
|
status: "SCHEDULED",
|
|
1408
|
-
updatedAt: "2026-06-
|
|
1558
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1409
1559
|
},
|
|
1410
1560
|
{
|
|
1411
1561
|
id: "760458",
|
|
@@ -1426,7 +1576,7 @@ var schedule_2026_default = [
|
|
|
1426
1576
|
flag: "\u{1F1EC}\u{1F1ED}"
|
|
1427
1577
|
},
|
|
1428
1578
|
status: "SCHEDULED",
|
|
1429
|
-
updatedAt: "2026-06-
|
|
1579
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1430
1580
|
},
|
|
1431
1581
|
{
|
|
1432
1582
|
id: "760460",
|
|
@@ -1447,7 +1597,7 @@ var schedule_2026_default = [
|
|
|
1447
1597
|
flag: "\u{1F1ED}\u{1F1F7}"
|
|
1448
1598
|
},
|
|
1449
1599
|
status: "SCHEDULED",
|
|
1450
|
-
updatedAt: "2026-06-
|
|
1600
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1451
1601
|
},
|
|
1452
1602
|
{
|
|
1453
1603
|
id: "760459",
|
|
@@ -1468,7 +1618,7 @@ var schedule_2026_default = [
|
|
|
1468
1618
|
flag: "\u{1F1E8}\u{1F1E9}"
|
|
1469
1619
|
},
|
|
1470
1620
|
status: "SCHEDULED",
|
|
1471
|
-
updatedAt: "2026-06-
|
|
1621
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1472
1622
|
},
|
|
1473
1623
|
{
|
|
1474
1624
|
id: "760462",
|
|
@@ -1489,7 +1639,7 @@ var schedule_2026_default = [
|
|
|
1489
1639
|
flag: "\u{1F1F6}\u{1F1E6}"
|
|
1490
1640
|
},
|
|
1491
1641
|
status: "SCHEDULED",
|
|
1492
|
-
updatedAt: "2026-06-
|
|
1642
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1493
1643
|
},
|
|
1494
1644
|
{
|
|
1495
1645
|
id: "760463",
|
|
@@ -1510,7 +1660,7 @@ var schedule_2026_default = [
|
|
|
1510
1660
|
flag: "\u{1F1E8}\u{1F1E6}"
|
|
1511
1661
|
},
|
|
1512
1662
|
status: "SCHEDULED",
|
|
1513
|
-
updatedAt: "2026-06-
|
|
1663
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1514
1664
|
},
|
|
1515
1665
|
{
|
|
1516
1666
|
id: "760464",
|
|
@@ -1531,7 +1681,7 @@ var schedule_2026_default = [
|
|
|
1531
1681
|
flag: "\u{1F1ED}\u{1F1F9}"
|
|
1532
1682
|
},
|
|
1533
1683
|
status: "SCHEDULED",
|
|
1534
|
-
updatedAt: "2026-06-
|
|
1684
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1535
1685
|
},
|
|
1536
1686
|
{
|
|
1537
1687
|
id: "760465",
|
|
@@ -1552,7 +1702,7 @@ var schedule_2026_default = [
|
|
|
1552
1702
|
flag: "\u{1F1E7}\u{1F1F7}"
|
|
1553
1703
|
},
|
|
1554
1704
|
status: "SCHEDULED",
|
|
1555
|
-
updatedAt: "2026-06-
|
|
1705
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1556
1706
|
},
|
|
1557
1707
|
{
|
|
1558
1708
|
id: "760467",
|
|
@@ -1573,7 +1723,7 @@ var schedule_2026_default = [
|
|
|
1573
1723
|
flag: "\u{1F1F2}\u{1F1FD}"
|
|
1574
1724
|
},
|
|
1575
1725
|
status: "SCHEDULED",
|
|
1576
|
-
updatedAt: "2026-06-
|
|
1726
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1577
1727
|
},
|
|
1578
1728
|
{
|
|
1579
1729
|
id: "760466",
|
|
@@ -1594,7 +1744,7 @@ var schedule_2026_default = [
|
|
|
1594
1744
|
flag: "\u{1F1F0}\u{1F1F7}"
|
|
1595
1745
|
},
|
|
1596
1746
|
status: "SCHEDULED",
|
|
1597
|
-
updatedAt: "2026-06-
|
|
1747
|
+
updatedAt: "2026-06-24T01:20:06.394Z"
|
|
1598
1748
|
},
|
|
1599
1749
|
{
|
|
1600
1750
|
id: "760473",
|
|
@@ -1615,7 +1765,7 @@ var schedule_2026_default = [
|
|
|
1615
1765
|
flag: "\u{1F1E8}\u{1F1EE}"
|
|
1616
1766
|
},
|
|
1617
1767
|
status: "SCHEDULED",
|
|
1618
|
-
updatedAt: "2026-06-
|
|
1768
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1619
1769
|
},
|
|
1620
1770
|
{
|
|
1621
1771
|
id: "760468",
|
|
@@ -1636,7 +1786,7 @@ var schedule_2026_default = [
|
|
|
1636
1786
|
flag: "\u{1F1E9}\u{1F1EA}"
|
|
1637
1787
|
},
|
|
1638
1788
|
status: "SCHEDULED",
|
|
1639
|
-
updatedAt: "2026-06-
|
|
1789
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1640
1790
|
},
|
|
1641
1791
|
{
|
|
1642
1792
|
id: "760471",
|
|
@@ -1657,7 +1807,7 @@ var schedule_2026_default = [
|
|
|
1657
1807
|
flag: "\u{1F1F8}\u{1F1EA}"
|
|
1658
1808
|
},
|
|
1659
1809
|
status: "SCHEDULED",
|
|
1660
|
-
updatedAt: "2026-06-
|
|
1810
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1661
1811
|
},
|
|
1662
1812
|
{
|
|
1663
1813
|
id: "760472",
|
|
@@ -1678,7 +1828,7 @@ var schedule_2026_default = [
|
|
|
1678
1828
|
flag: "\u{1F1F3}\u{1F1F1}"
|
|
1679
1829
|
},
|
|
1680
1830
|
status: "SCHEDULED",
|
|
1681
|
-
updatedAt: "2026-06-
|
|
1831
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1682
1832
|
},
|
|
1683
1833
|
{
|
|
1684
1834
|
id: "760469",
|
|
@@ -1699,7 +1849,7 @@ var schedule_2026_default = [
|
|
|
1699
1849
|
flag: "\u{1F1E6}\u{1F1FA}"
|
|
1700
1850
|
},
|
|
1701
1851
|
status: "SCHEDULED",
|
|
1702
|
-
updatedAt: "2026-06-
|
|
1852
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1703
1853
|
},
|
|
1704
1854
|
{
|
|
1705
1855
|
id: "760470",
|
|
@@ -1720,7 +1870,7 @@ var schedule_2026_default = [
|
|
|
1720
1870
|
flag: "\u{1F1FA}\u{1F1F8}"
|
|
1721
1871
|
},
|
|
1722
1872
|
status: "SCHEDULED",
|
|
1723
|
-
updatedAt: "2026-06-
|
|
1873
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1724
1874
|
},
|
|
1725
1875
|
{
|
|
1726
1876
|
id: "760475",
|
|
@@ -1741,7 +1891,7 @@ var schedule_2026_default = [
|
|
|
1741
1891
|
flag: "\u{1F1EB}\u{1F1F7}"
|
|
1742
1892
|
},
|
|
1743
1893
|
status: "SCHEDULED",
|
|
1744
|
-
updatedAt: "2026-06-
|
|
1894
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1745
1895
|
},
|
|
1746
1896
|
{
|
|
1747
1897
|
id: "760474",
|
|
@@ -1762,7 +1912,7 @@ var schedule_2026_default = [
|
|
|
1762
1912
|
flag: "\u{1F1EE}\u{1F1F6}"
|
|
1763
1913
|
},
|
|
1764
1914
|
status: "SCHEDULED",
|
|
1765
|
-
updatedAt: "2026-06-
|
|
1915
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1766
1916
|
},
|
|
1767
1917
|
{
|
|
1768
1918
|
id: "760478",
|
|
@@ -1783,7 +1933,7 @@ var schedule_2026_default = [
|
|
|
1783
1933
|
flag: "\u{1F1F8}\u{1F1E6}"
|
|
1784
1934
|
},
|
|
1785
1935
|
status: "SCHEDULED",
|
|
1786
|
-
updatedAt: "2026-06-
|
|
1936
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1787
1937
|
},
|
|
1788
1938
|
{
|
|
1789
1939
|
id: "760479",
|
|
@@ -1804,7 +1954,7 @@ var schedule_2026_default = [
|
|
|
1804
1954
|
flag: "\u{1F1EA}\u{1F1F8}"
|
|
1805
1955
|
},
|
|
1806
1956
|
status: "SCHEDULED",
|
|
1807
|
-
updatedAt: "2026-06-
|
|
1957
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1808
1958
|
},
|
|
1809
1959
|
{
|
|
1810
1960
|
id: "760476",
|
|
@@ -1825,7 +1975,7 @@ var schedule_2026_default = [
|
|
|
1825
1975
|
flag: "\u{1F1EE}\u{1F1F7}"
|
|
1826
1976
|
},
|
|
1827
1977
|
status: "SCHEDULED",
|
|
1828
|
-
updatedAt: "2026-06-
|
|
1978
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1829
1979
|
},
|
|
1830
1980
|
{
|
|
1831
1981
|
id: "760477",
|
|
@@ -1846,7 +1996,7 @@ var schedule_2026_default = [
|
|
|
1846
1996
|
flag: "\u{1F1E7}\u{1F1EA}"
|
|
1847
1997
|
},
|
|
1848
1998
|
status: "SCHEDULED",
|
|
1849
|
-
updatedAt: "2026-06-
|
|
1999
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1850
2000
|
},
|
|
1851
2001
|
{
|
|
1852
2002
|
id: "760480",
|
|
@@ -1867,7 +2017,7 @@ var schedule_2026_default = [
|
|
|
1867
2017
|
flag: "\u{1F1EC}\u{1F1ED}"
|
|
1868
2018
|
},
|
|
1869
2019
|
status: "SCHEDULED",
|
|
1870
|
-
updatedAt: "2026-06-
|
|
2020
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1871
2021
|
},
|
|
1872
2022
|
{
|
|
1873
2023
|
id: "760485",
|
|
@@ -1888,7 +2038,7 @@ var schedule_2026_default = [
|
|
|
1888
2038
|
flag: "\u{1F3F4}\u{E0067}\u{E0062}\u{E0065}\u{E006E}\u{E0067}\u{E007F}"
|
|
1889
2039
|
},
|
|
1890
2040
|
status: "SCHEDULED",
|
|
1891
|
-
updatedAt: "2026-06-
|
|
2041
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1892
2042
|
},
|
|
1893
2043
|
{
|
|
1894
2044
|
id: "760481",
|
|
@@ -1909,7 +2059,7 @@ var schedule_2026_default = [
|
|
|
1909
2059
|
flag: "\u{1F1F5}\u{1F1F9}"
|
|
1910
2060
|
},
|
|
1911
2061
|
status: "SCHEDULED",
|
|
1912
|
-
updatedAt: "2026-06-
|
|
2062
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1913
2063
|
},
|
|
1914
2064
|
{
|
|
1915
2065
|
id: "760482",
|
|
@@ -1930,7 +2080,7 @@ var schedule_2026_default = [
|
|
|
1930
2080
|
flag: "\u{1F1FA}\u{1F1FF}"
|
|
1931
2081
|
},
|
|
1932
2082
|
status: "SCHEDULED",
|
|
1933
|
-
updatedAt: "2026-06-
|
|
2083
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1934
2084
|
},
|
|
1935
2085
|
{
|
|
1936
2086
|
id: "760484",
|
|
@@ -1951,7 +2101,7 @@ var schedule_2026_default = [
|
|
|
1951
2101
|
flag: "\u{1F1E6}\u{1F1F9}"
|
|
1952
2102
|
},
|
|
1953
2103
|
status: "SCHEDULED",
|
|
1954
|
-
updatedAt: "2026-06-
|
|
2104
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1955
2105
|
},
|
|
1956
2106
|
{
|
|
1957
2107
|
id: "760483",
|
|
@@ -1972,7 +2122,7 @@ var schedule_2026_default = [
|
|
|
1972
2122
|
flag: "\u{1F1E6}\u{1F1F7}"
|
|
1973
2123
|
},
|
|
1974
2124
|
status: "SCHEDULED",
|
|
1975
|
-
updatedAt: "2026-06-
|
|
2125
|
+
updatedAt: "2026-06-24T01:20:06.523Z"
|
|
1976
2126
|
},
|
|
1977
2127
|
{
|
|
1978
2128
|
id: "760486",
|
|
@@ -1992,7 +2142,7 @@ var schedule_2026_default = [
|
|
|
1992
2142
|
flag: "\u{1F3F3}\uFE0F"
|
|
1993
2143
|
},
|
|
1994
2144
|
status: "SCHEDULED",
|
|
1995
|
-
updatedAt: "2026-06-
|
|
2145
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
1996
2146
|
},
|
|
1997
2147
|
{
|
|
1998
2148
|
id: "760487",
|
|
@@ -2012,7 +2162,7 @@ var schedule_2026_default = [
|
|
|
2012
2162
|
flag: "\u{1F3F3}\uFE0F"
|
|
2013
2163
|
},
|
|
2014
2164
|
status: "SCHEDULED",
|
|
2015
|
-
updatedAt: "2026-06-
|
|
2165
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2016
2166
|
},
|
|
2017
2167
|
{
|
|
2018
2168
|
id: "760489",
|
|
@@ -2022,9 +2172,9 @@ var schedule_2026_default = [
|
|
|
2022
2172
|
city: "Foxborough, Massachusetts",
|
|
2023
2173
|
country: "USA",
|
|
2024
2174
|
home: {
|
|
2025
|
-
code: "
|
|
2175
|
+
code: "TBD",
|
|
2026
2176
|
name: "Germany",
|
|
2027
|
-
flag: "\u{
|
|
2177
|
+
flag: "\u{1F3F3}\uFE0F"
|
|
2028
2178
|
},
|
|
2029
2179
|
away: {
|
|
2030
2180
|
code: "3RD",
|
|
@@ -2032,7 +2182,7 @@ var schedule_2026_default = [
|
|
|
2032
2182
|
flag: "\u{1F3F3}\uFE0F"
|
|
2033
2183
|
},
|
|
2034
2184
|
status: "SCHEDULED",
|
|
2035
|
-
updatedAt: "2026-06-
|
|
2185
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2036
2186
|
},
|
|
2037
2187
|
{
|
|
2038
2188
|
id: "760488",
|
|
@@ -2052,7 +2202,7 @@ var schedule_2026_default = [
|
|
|
2052
2202
|
flag: "\u{1F3F3}\uFE0F"
|
|
2053
2203
|
},
|
|
2054
2204
|
status: "SCHEDULED",
|
|
2055
|
-
updatedAt: "2026-06-
|
|
2205
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2056
2206
|
},
|
|
2057
2207
|
{
|
|
2058
2208
|
id: "760490",
|
|
@@ -2072,7 +2222,7 @@ var schedule_2026_default = [
|
|
|
2072
2222
|
flag: "\u{1F3F3}\uFE0F"
|
|
2073
2223
|
},
|
|
2074
2224
|
status: "SCHEDULED",
|
|
2075
|
-
updatedAt: "2026-06-
|
|
2225
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2076
2226
|
},
|
|
2077
2227
|
{
|
|
2078
2228
|
id: "760492",
|
|
@@ -2092,7 +2242,7 @@ var schedule_2026_default = [
|
|
|
2092
2242
|
flag: "\u{1F3F3}\uFE0F"
|
|
2093
2243
|
},
|
|
2094
2244
|
status: "SCHEDULED",
|
|
2095
|
-
updatedAt: "2026-06-
|
|
2245
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2096
2246
|
},
|
|
2097
2247
|
{
|
|
2098
2248
|
id: "760491",
|
|
@@ -2102,9 +2252,9 @@ var schedule_2026_default = [
|
|
|
2102
2252
|
city: "Mexico City",
|
|
2103
2253
|
country: "Mexico",
|
|
2104
2254
|
home: {
|
|
2105
|
-
code: "
|
|
2255
|
+
code: "TBD",
|
|
2106
2256
|
name: "Mexico",
|
|
2107
|
-
flag: "\u{
|
|
2257
|
+
flag: "\u{1F3F3}\uFE0F"
|
|
2108
2258
|
},
|
|
2109
2259
|
away: {
|
|
2110
2260
|
code: "3RD",
|
|
@@ -2112,7 +2262,7 @@ var schedule_2026_default = [
|
|
|
2112
2262
|
flag: "\u{1F3F3}\uFE0F"
|
|
2113
2263
|
},
|
|
2114
2264
|
status: "SCHEDULED",
|
|
2115
|
-
updatedAt: "2026-06-
|
|
2265
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2116
2266
|
},
|
|
2117
2267
|
{
|
|
2118
2268
|
id: "760495",
|
|
@@ -2132,7 +2282,7 @@ var schedule_2026_default = [
|
|
|
2132
2282
|
flag: "\u{1F3F3}\uFE0F"
|
|
2133
2283
|
},
|
|
2134
2284
|
status: "SCHEDULED",
|
|
2135
|
-
updatedAt: "2026-06-
|
|
2285
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2136
2286
|
},
|
|
2137
2287
|
{
|
|
2138
2288
|
id: "760493",
|
|
@@ -2152,7 +2302,7 @@ var schedule_2026_default = [
|
|
|
2152
2302
|
flag: "\u{1F3F3}\uFE0F"
|
|
2153
2303
|
},
|
|
2154
2304
|
status: "SCHEDULED",
|
|
2155
|
-
updatedAt: "2026-06-
|
|
2305
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2156
2306
|
},
|
|
2157
2307
|
{
|
|
2158
2308
|
id: "760494",
|
|
@@ -2162,9 +2312,9 @@ var schedule_2026_default = [
|
|
|
2162
2312
|
city: "Santa Clara, California",
|
|
2163
2313
|
country: "USA",
|
|
2164
2314
|
home: {
|
|
2165
|
-
code: "
|
|
2315
|
+
code: "TBD",
|
|
2166
2316
|
name: "United States",
|
|
2167
|
-
flag: "\u{
|
|
2317
|
+
flag: "\u{1F3F3}\uFE0F"
|
|
2168
2318
|
},
|
|
2169
2319
|
away: {
|
|
2170
2320
|
code: "3RD",
|
|
@@ -2172,7 +2322,7 @@ var schedule_2026_default = [
|
|
|
2172
2322
|
flag: "\u{1F3F3}\uFE0F"
|
|
2173
2323
|
},
|
|
2174
2324
|
status: "SCHEDULED",
|
|
2175
|
-
updatedAt: "2026-06-
|
|
2325
|
+
updatedAt: "2026-06-24T01:20:06.529Z"
|
|
2176
2326
|
},
|
|
2177
2327
|
{
|
|
2178
2328
|
id: "760497",
|
|
@@ -2192,7 +2342,7 @@ var schedule_2026_default = [
|
|
|
2192
2342
|
flag: "\u{1F3F3}\uFE0F"
|
|
2193
2343
|
},
|
|
2194
2344
|
status: "SCHEDULED",
|
|
2195
|
-
updatedAt: "2026-06-
|
|
2345
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2196
2346
|
},
|
|
2197
2347
|
{
|
|
2198
2348
|
id: "760496",
|
|
@@ -2212,7 +2362,7 @@ var schedule_2026_default = [
|
|
|
2212
2362
|
flag: "\u{1F3F3}\uFE0F"
|
|
2213
2363
|
},
|
|
2214
2364
|
status: "SCHEDULED",
|
|
2215
|
-
updatedAt: "2026-06-
|
|
2365
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2216
2366
|
},
|
|
2217
2367
|
{
|
|
2218
2368
|
id: "760498",
|
|
@@ -2232,7 +2382,7 @@ var schedule_2026_default = [
|
|
|
2232
2382
|
flag: "\u{1F3F3}\uFE0F"
|
|
2233
2383
|
},
|
|
2234
2384
|
status: "SCHEDULED",
|
|
2235
|
-
updatedAt: "2026-06-
|
|
2385
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2236
2386
|
},
|
|
2237
2387
|
{
|
|
2238
2388
|
id: "760499",
|
|
@@ -2252,7 +2402,7 @@ var schedule_2026_default = [
|
|
|
2252
2402
|
flag: "\u{1F3F3}\uFE0F"
|
|
2253
2403
|
},
|
|
2254
2404
|
status: "SCHEDULED",
|
|
2255
|
-
updatedAt: "2026-06-
|
|
2405
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2256
2406
|
},
|
|
2257
2407
|
{
|
|
2258
2408
|
id: "760500",
|
|
@@ -2262,9 +2412,9 @@ var schedule_2026_default = [
|
|
|
2262
2412
|
city: "Miami Gardens, Florida",
|
|
2263
2413
|
country: "USA",
|
|
2264
2414
|
home: {
|
|
2265
|
-
code: "
|
|
2415
|
+
code: "TBD",
|
|
2266
2416
|
name: "Argentina",
|
|
2267
|
-
flag: "\u{
|
|
2417
|
+
flag: "\u{1F3F3}\uFE0F"
|
|
2268
2418
|
},
|
|
2269
2419
|
away: {
|
|
2270
2420
|
code: "2H",
|
|
@@ -2272,7 +2422,7 @@ var schedule_2026_default = [
|
|
|
2272
2422
|
flag: "\u{1F3F3}\uFE0F"
|
|
2273
2423
|
},
|
|
2274
2424
|
status: "SCHEDULED",
|
|
2275
|
-
updatedAt: "2026-06-
|
|
2425
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2276
2426
|
},
|
|
2277
2427
|
{
|
|
2278
2428
|
id: "760501",
|
|
@@ -2292,7 +2442,7 @@ var schedule_2026_default = [
|
|
|
2292
2442
|
flag: "\u{1F3F3}\uFE0F"
|
|
2293
2443
|
},
|
|
2294
2444
|
status: "SCHEDULED",
|
|
2295
|
-
updatedAt: "2026-06-
|
|
2445
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2296
2446
|
},
|
|
2297
2447
|
{
|
|
2298
2448
|
id: "760502",
|
|
@@ -2312,7 +2462,7 @@ var schedule_2026_default = [
|
|
|
2312
2462
|
flag: "\u{1F3F3}\uFE0F"
|
|
2313
2463
|
},
|
|
2314
2464
|
status: "SCHEDULED",
|
|
2315
|
-
updatedAt: "2026-06-
|
|
2465
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2316
2466
|
},
|
|
2317
2467
|
{
|
|
2318
2468
|
id: "760503",
|
|
@@ -2332,7 +2482,7 @@ var schedule_2026_default = [
|
|
|
2332
2482
|
flag: "\u{1F3F3}\uFE0F"
|
|
2333
2483
|
},
|
|
2334
2484
|
status: "SCHEDULED",
|
|
2335
|
-
updatedAt: "2026-06-
|
|
2485
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2336
2486
|
},
|
|
2337
2487
|
{
|
|
2338
2488
|
id: "760504",
|
|
@@ -2352,7 +2502,7 @@ var schedule_2026_default = [
|
|
|
2352
2502
|
flag: "\u{1F3F3}\uFE0F"
|
|
2353
2503
|
},
|
|
2354
2504
|
status: "SCHEDULED",
|
|
2355
|
-
updatedAt: "2026-06-
|
|
2505
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2356
2506
|
},
|
|
2357
2507
|
{
|
|
2358
2508
|
id: "760505",
|
|
@@ -2372,7 +2522,7 @@ var schedule_2026_default = [
|
|
|
2372
2522
|
flag: "\u{1F3F3}\uFE0F"
|
|
2373
2523
|
},
|
|
2374
2524
|
status: "SCHEDULED",
|
|
2375
|
-
updatedAt: "2026-06-
|
|
2525
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2376
2526
|
},
|
|
2377
2527
|
{
|
|
2378
2528
|
id: "760506",
|
|
@@ -2392,7 +2542,7 @@ var schedule_2026_default = [
|
|
|
2392
2542
|
flag: "\u{1F3F3}\uFE0F"
|
|
2393
2543
|
},
|
|
2394
2544
|
status: "SCHEDULED",
|
|
2395
|
-
updatedAt: "2026-06-
|
|
2545
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2396
2546
|
},
|
|
2397
2547
|
{
|
|
2398
2548
|
id: "760507",
|
|
@@ -2412,7 +2562,7 @@ var schedule_2026_default = [
|
|
|
2412
2562
|
flag: "\u{1F3F3}\uFE0F"
|
|
2413
2563
|
},
|
|
2414
2564
|
status: "SCHEDULED",
|
|
2415
|
-
updatedAt: "2026-06-
|
|
2565
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2416
2566
|
},
|
|
2417
2567
|
{
|
|
2418
2568
|
id: "760509",
|
|
@@ -2432,7 +2582,7 @@ var schedule_2026_default = [
|
|
|
2432
2582
|
flag: "\u{1F3F3}\uFE0F"
|
|
2433
2583
|
},
|
|
2434
2584
|
status: "SCHEDULED",
|
|
2435
|
-
updatedAt: "2026-06-
|
|
2585
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2436
2586
|
},
|
|
2437
2587
|
{
|
|
2438
2588
|
id: "760508",
|
|
@@ -2452,7 +2602,7 @@ var schedule_2026_default = [
|
|
|
2452
2602
|
flag: "\u{1F3F3}\uFE0F"
|
|
2453
2603
|
},
|
|
2454
2604
|
status: "SCHEDULED",
|
|
2455
|
-
updatedAt: "2026-06-
|
|
2605
|
+
updatedAt: "2026-06-24T01:20:06.593Z"
|
|
2456
2606
|
},
|
|
2457
2607
|
{
|
|
2458
2608
|
id: "760510",
|
|
@@ -2462,17 +2612,17 @@ var schedule_2026_default = [
|
|
|
2462
2612
|
city: "Foxborough, Massachusetts",
|
|
2463
2613
|
country: "USA",
|
|
2464
2614
|
home: {
|
|
2465
|
-
code: "
|
|
2615
|
+
code: "RD32",
|
|
2466
2616
|
name: "Round of 16 1 Winner",
|
|
2467
2617
|
flag: "\u{1F3F3}\uFE0F"
|
|
2468
2618
|
},
|
|
2469
2619
|
away: {
|
|
2470
|
-
code: "
|
|
2620
|
+
code: "RD32",
|
|
2471
2621
|
name: "Round of 16 2 Winner",
|
|
2472
2622
|
flag: "\u{1F3F3}\uFE0F"
|
|
2473
2623
|
},
|
|
2474
2624
|
status: "SCHEDULED",
|
|
2475
|
-
updatedAt: "2026-06-
|
|
2625
|
+
updatedAt: "2026-06-24T01:20:06.650Z"
|
|
2476
2626
|
},
|
|
2477
2627
|
{
|
|
2478
2628
|
id: "760511",
|
|
@@ -2482,17 +2632,17 @@ var schedule_2026_default = [
|
|
|
2482
2632
|
city: "Inglewood, California",
|
|
2483
2633
|
country: "USA",
|
|
2484
2634
|
home: {
|
|
2485
|
-
code: "
|
|
2635
|
+
code: "RD32",
|
|
2486
2636
|
name: "Round of 16 5 Winner",
|
|
2487
2637
|
flag: "\u{1F3F3}\uFE0F"
|
|
2488
2638
|
},
|
|
2489
2639
|
away: {
|
|
2490
|
-
code: "
|
|
2640
|
+
code: "RD32",
|
|
2491
2641
|
name: "Round of 16 6 Winner",
|
|
2492
2642
|
flag: "\u{1F3F3}\uFE0F"
|
|
2493
2643
|
},
|
|
2494
2644
|
status: "SCHEDULED",
|
|
2495
|
-
updatedAt: "2026-06-
|
|
2645
|
+
updatedAt: "2026-06-24T01:20:06.650Z"
|
|
2496
2646
|
},
|
|
2497
2647
|
{
|
|
2498
2648
|
id: "760512",
|
|
@@ -2502,17 +2652,17 @@ var schedule_2026_default = [
|
|
|
2502
2652
|
city: "Miami Gardens, Florida",
|
|
2503
2653
|
country: "USA",
|
|
2504
2654
|
home: {
|
|
2505
|
-
code: "
|
|
2655
|
+
code: "RD32",
|
|
2506
2656
|
name: "Round of 16 3 Winner",
|
|
2507
2657
|
flag: "\u{1F3F3}\uFE0F"
|
|
2508
2658
|
},
|
|
2509
2659
|
away: {
|
|
2510
|
-
code: "
|
|
2660
|
+
code: "RD32",
|
|
2511
2661
|
name: "Round of 16 4 Winner",
|
|
2512
2662
|
flag: "\u{1F3F3}\uFE0F"
|
|
2513
2663
|
},
|
|
2514
2664
|
status: "SCHEDULED",
|
|
2515
|
-
updatedAt: "2026-06-
|
|
2665
|
+
updatedAt: "2026-06-24T01:20:06.650Z"
|
|
2516
2666
|
},
|
|
2517
2667
|
{
|
|
2518
2668
|
id: "760513",
|
|
@@ -2522,17 +2672,17 @@ var schedule_2026_default = [
|
|
|
2522
2672
|
city: "Kansas City, Missouri",
|
|
2523
2673
|
country: "USA",
|
|
2524
2674
|
home: {
|
|
2525
|
-
code: "
|
|
2675
|
+
code: "RD32",
|
|
2526
2676
|
name: "Round of 16 7 Winner",
|
|
2527
2677
|
flag: "\u{1F3F3}\uFE0F"
|
|
2528
2678
|
},
|
|
2529
2679
|
away: {
|
|
2530
|
-
code: "
|
|
2680
|
+
code: "RD32",
|
|
2531
2681
|
name: "Round of 16 8 Winner",
|
|
2532
2682
|
flag: "\u{1F3F3}\uFE0F"
|
|
2533
2683
|
},
|
|
2534
2684
|
status: "SCHEDULED",
|
|
2535
|
-
updatedAt: "2026-06-
|
|
2685
|
+
updatedAt: "2026-06-24T01:20:06.650Z"
|
|
2536
2686
|
},
|
|
2537
2687
|
{
|
|
2538
2688
|
id: "760514",
|
|
@@ -2542,17 +2692,17 @@ var schedule_2026_default = [
|
|
|
2542
2692
|
city: "Arlington, Texas",
|
|
2543
2693
|
country: "USA",
|
|
2544
2694
|
home: {
|
|
2545
|
-
code: "
|
|
2695
|
+
code: "RD32",
|
|
2546
2696
|
name: "Quarterfinal 1 Winner",
|
|
2547
2697
|
flag: "\u{1F3F3}\uFE0F"
|
|
2548
2698
|
},
|
|
2549
2699
|
away: {
|
|
2550
|
-
code: "
|
|
2700
|
+
code: "RD32",
|
|
2551
2701
|
name: "Quarterfinal 2 Winner",
|
|
2552
2702
|
flag: "\u{1F3F3}\uFE0F"
|
|
2553
2703
|
},
|
|
2554
2704
|
status: "SCHEDULED",
|
|
2555
|
-
updatedAt: "2026-06-
|
|
2705
|
+
updatedAt: "2026-06-24T01:20:06.650Z"
|
|
2556
2706
|
},
|
|
2557
2707
|
{
|
|
2558
2708
|
id: "760515",
|
|
@@ -2562,17 +2712,17 @@ var schedule_2026_default = [
|
|
|
2562
2712
|
city: "Atlanta, Georgia",
|
|
2563
2713
|
country: "USA",
|
|
2564
2714
|
home: {
|
|
2565
|
-
code: "
|
|
2715
|
+
code: "RD32",
|
|
2566
2716
|
name: "Quarterfinal 3 Winner",
|
|
2567
2717
|
flag: "\u{1F3F3}\uFE0F"
|
|
2568
2718
|
},
|
|
2569
2719
|
away: {
|
|
2570
|
-
code: "
|
|
2720
|
+
code: "RD32",
|
|
2571
2721
|
name: "Quarterfinal 4 Winner",
|
|
2572
2722
|
flag: "\u{1F3F3}\uFE0F"
|
|
2573
2723
|
},
|
|
2574
2724
|
status: "SCHEDULED",
|
|
2575
|
-
updatedAt: "2026-06-
|
|
2725
|
+
updatedAt: "2026-06-24T01:20:06.650Z"
|
|
2576
2726
|
},
|
|
2577
2727
|
{
|
|
2578
2728
|
id: "760516",
|
|
@@ -2582,17 +2732,17 @@ var schedule_2026_default = [
|
|
|
2582
2732
|
city: "Miami Gardens, Florida",
|
|
2583
2733
|
country: "USA",
|
|
2584
2734
|
home: {
|
|
2585
|
-
code: "
|
|
2735
|
+
code: "RD32",
|
|
2586
2736
|
name: "Semifinal 1 Loser",
|
|
2587
2737
|
flag: "\u{1F3F3}\uFE0F"
|
|
2588
2738
|
},
|
|
2589
2739
|
away: {
|
|
2590
|
-
code: "
|
|
2740
|
+
code: "RD32",
|
|
2591
2741
|
name: "Semifinal 2 Loser",
|
|
2592
2742
|
flag: "\u{1F3F3}\uFE0F"
|
|
2593
2743
|
},
|
|
2594
2744
|
status: "SCHEDULED",
|
|
2595
|
-
updatedAt: "2026-06-
|
|
2745
|
+
updatedAt: "2026-06-24T01:20:06.749Z"
|
|
2596
2746
|
},
|
|
2597
2747
|
{
|
|
2598
2748
|
id: "760517",
|
|
@@ -2602,17 +2752,17 @@ var schedule_2026_default = [
|
|
|
2602
2752
|
city: "East Rutherford, New Jersey",
|
|
2603
2753
|
country: "USA",
|
|
2604
2754
|
home: {
|
|
2605
|
-
code: "
|
|
2755
|
+
code: "RD32",
|
|
2606
2756
|
name: "Semifinal 1 Winner",
|
|
2607
2757
|
flag: "\u{1F3F3}\uFE0F"
|
|
2608
2758
|
},
|
|
2609
2759
|
away: {
|
|
2610
|
-
code: "
|
|
2760
|
+
code: "RD32",
|
|
2611
2761
|
name: "Semifinal 2 Winner",
|
|
2612
2762
|
flag: "\u{1F3F3}\uFE0F"
|
|
2613
2763
|
},
|
|
2614
2764
|
status: "SCHEDULED",
|
|
2615
|
-
updatedAt: "2026-06-
|
|
2765
|
+
updatedAt: "2026-06-24T01:20:06.749Z"
|
|
2616
2766
|
}
|
|
2617
2767
|
];
|
|
2618
2768
|
var SCHEDULE = schedule_2026_default;
|
|
@@ -2710,10 +2860,10 @@ function toInt(s) {
|
|
|
2710
2860
|
const n = parseInt(s, 10);
|
|
2711
2861
|
return Number.isFinite(n) ? n : void 0;
|
|
2712
2862
|
}
|
|
2713
|
-
function toTeam(
|
|
2714
|
-
const name =
|
|
2715
|
-
const code = (
|
|
2716
|
-
return { code, name, flag: nationToFlag(
|
|
2863
|
+
function toTeam(t2) {
|
|
2864
|
+
const name = t2?.displayName ?? t2?.name ?? t2?.location ?? t2?.shortDisplayName ?? "TBD";
|
|
2865
|
+
const code = (t2?.abbreviation ?? name.slice(0, 3)).toUpperCase();
|
|
2866
|
+
return { code, name, flag: nationToFlag(t2?.displayName ?? t2?.abbreviation ?? name) };
|
|
2717
2867
|
}
|
|
2718
2868
|
function mapEspnEvent(ev, ctx = {}) {
|
|
2719
2869
|
const comp = ev.competitions?.[0];
|
|
@@ -2731,6 +2881,11 @@ function mapEspnEvent(ev, ctx = {}) {
|
|
|
2731
2881
|
const hs = toInt(homeC?.score);
|
|
2732
2882
|
const as = toInt(awayC?.score);
|
|
2733
2883
|
const hasScore = status !== "SCHEDULED" && hs !== void 0 && as !== void 0;
|
|
2884
|
+
let winnerCode;
|
|
2885
|
+
if (isFinished(status)) {
|
|
2886
|
+
if (homeC?.winner) winnerCode = home.code;
|
|
2887
|
+
else if (awayC?.winner) winnerCode = away.code;
|
|
2888
|
+
}
|
|
2734
2889
|
return {
|
|
2735
2890
|
id: ev.id,
|
|
2736
2891
|
stage,
|
|
@@ -2744,6 +2899,7 @@ function mapEspnEvent(ev, ctx = {}) {
|
|
|
2744
2899
|
score: hasScore ? { home: hs, away: as } : void 0,
|
|
2745
2900
|
minute: parseMinute(ev.status ?? comp?.status),
|
|
2746
2901
|
status,
|
|
2902
|
+
winnerCode,
|
|
2747
2903
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
2748
2904
|
};
|
|
2749
2905
|
}
|
|
@@ -2835,7 +2991,7 @@ var EspnAdapter = class {
|
|
|
2835
2991
|
const map = {};
|
|
2836
2992
|
try {
|
|
2837
2993
|
const tables = parseStandings(await this.get(this.standingsUrl()));
|
|
2838
|
-
for (const
|
|
2994
|
+
for (const t2 of tables) for (const r of t2.rows) map[r.team.code] = t2.group;
|
|
2839
2995
|
} catch {
|
|
2840
2996
|
}
|
|
2841
2997
|
this.groupMap = map;
|
|
@@ -2871,6 +3027,688 @@ var EspnAdapter = class {
|
|
|
2871
3027
|
}
|
|
2872
3028
|
}
|
|
2873
3029
|
};
|
|
3030
|
+
function teamFromMatch(match, code) {
|
|
3031
|
+
if (match.home.code === code) return match.home;
|
|
3032
|
+
if (match.away.code === code) return match.away;
|
|
3033
|
+
return void 0;
|
|
3034
|
+
}
|
|
3035
|
+
function matchKey(stage, index) {
|
|
3036
|
+
return `${stage}:${index}`;
|
|
3037
|
+
}
|
|
3038
|
+
function isGroupComplete(group, tables, standingsDegraded) {
|
|
3039
|
+
if (standingsDegraded) return false;
|
|
3040
|
+
const table = tables.find((t2) => t2.group === group);
|
|
3041
|
+
if (!table?.rows.length || table.rows.length !== 4) return false;
|
|
3042
|
+
return table.rows.every((r) => r.played >= 3);
|
|
3043
|
+
}
|
|
3044
|
+
function teamFromStandings(group, position, tables) {
|
|
3045
|
+
const table = tables.find((t2) => t2.group === group);
|
|
3046
|
+
if (!table) return void 0;
|
|
3047
|
+
const row = table.rows[position - 1];
|
|
3048
|
+
return row?.team;
|
|
3049
|
+
}
|
|
3050
|
+
function resolveWinner(match) {
|
|
3051
|
+
if (!isFinished(match.status)) return void 0;
|
|
3052
|
+
if (match.winnerCode) {
|
|
3053
|
+
const w = teamFromMatch(match, match.winnerCode);
|
|
3054
|
+
if (w && w.flag !== "\u{1F3F3}\uFE0F") return w;
|
|
3055
|
+
}
|
|
3056
|
+
if (!match.score) return void 0;
|
|
3057
|
+
const outcome = outcomeFromScore(match.score.home, match.score.away);
|
|
3058
|
+
if (outcome === "H") return match.home.flag !== "\u{1F3F3}\uFE0F" ? match.home : void 0;
|
|
3059
|
+
if (outcome === "A") return match.away.flag !== "\u{1F3F3}\uFE0F" ? match.away : void 0;
|
|
3060
|
+
return void 0;
|
|
3061
|
+
}
|
|
3062
|
+
function resolveLoser(match) {
|
|
3063
|
+
if (!isFinished(match.status)) return void 0;
|
|
3064
|
+
if (match.winnerCode) {
|
|
3065
|
+
const winner = teamFromMatch(match, match.winnerCode);
|
|
3066
|
+
if (winner?.code === match.home.code) {
|
|
3067
|
+
return match.away.flag !== "\u{1F3F3}\uFE0F" ? match.away : void 0;
|
|
3068
|
+
}
|
|
3069
|
+
if (winner?.code === match.away.code) {
|
|
3070
|
+
return match.home.flag !== "\u{1F3F3}\uFE0F" ? match.home : void 0;
|
|
3071
|
+
}
|
|
3072
|
+
}
|
|
3073
|
+
if (!match.score) return void 0;
|
|
3074
|
+
const outcome = outcomeFromScore(match.score.home, match.score.away);
|
|
3075
|
+
if (outcome === "H") return match.away.flag !== "\u{1F3F3}\uFE0F" ? match.away : void 0;
|
|
3076
|
+
if (outcome === "A") return match.home.flag !== "\u{1F3F3}\uFE0F" ? match.home : void 0;
|
|
3077
|
+
return void 0;
|
|
3078
|
+
}
|
|
3079
|
+
function participant(team, status) {
|
|
3080
|
+
return { label: team.name, flag: team.flag, code: team.code, status };
|
|
3081
|
+
}
|
|
3082
|
+
function tbd(label) {
|
|
3083
|
+
return { label, flag: "\u{1F3F3}\uFE0F", status: "tbd" };
|
|
3084
|
+
}
|
|
3085
|
+
function winnerLabel(ctx, stage, index) {
|
|
3086
|
+
return t(ctx.lang, "bracket.slot.winner", {
|
|
3087
|
+
stage: stageLabelI18n(ctx.lang, stage),
|
|
3088
|
+
n: String(index)
|
|
3089
|
+
});
|
|
3090
|
+
}
|
|
3091
|
+
function resolveSlot(ref, ctx) {
|
|
3092
|
+
switch (ref.kind) {
|
|
3093
|
+
case "seed":
|
|
3094
|
+
return tbd(ref.label);
|
|
3095
|
+
case "group": {
|
|
3096
|
+
if (isGroupComplete(ref.group, ctx.tables, ctx.standingsDegraded)) {
|
|
3097
|
+
const team = teamFromStandings(ref.group, ref.position, ctx.tables);
|
|
3098
|
+
if (team) return participant(team, "projected");
|
|
3099
|
+
}
|
|
3100
|
+
const label = ref.position === 1 ? t(ctx.lang, "bracket.slot.groupWinner", { group: ref.group }) : t(ctx.lang, "bracket.slot.groupSecond", { group: ref.group });
|
|
3101
|
+
return tbd(label);
|
|
3102
|
+
}
|
|
3103
|
+
case "third":
|
|
3104
|
+
return tbd(t(ctx.lang, "bracket.slot.third", { groups: ref.groups.join("/") }));
|
|
3105
|
+
case "winner": {
|
|
3106
|
+
const node = ctx.nodesByKey.get(matchKey(ref.stage, ref.index));
|
|
3107
|
+
const match = node ? ctx.matchesById.get(node.matchId) : void 0;
|
|
3108
|
+
if (match) {
|
|
3109
|
+
const winner = resolveWinner(match);
|
|
3110
|
+
if (winner) return participant(winner, "confirmed");
|
|
3111
|
+
}
|
|
3112
|
+
return tbd(winnerLabel(ctx, ref.stage, ref.index));
|
|
3113
|
+
}
|
|
3114
|
+
case "loser": {
|
|
3115
|
+
const node = ctx.nodesByKey.get(matchKey(ref.stage, ref.index));
|
|
3116
|
+
const match = node ? ctx.matchesById.get(node.matchId) : void 0;
|
|
3117
|
+
if (match) {
|
|
3118
|
+
const loser = resolveLoser(match);
|
|
3119
|
+
if (loser) return participant(loser, "confirmed");
|
|
3120
|
+
}
|
|
3121
|
+
return tbd(
|
|
3122
|
+
t(ctx.lang, "bracket.slot.loser", {
|
|
3123
|
+
stage: stageLabelI18n(ctx.lang, ref.stage),
|
|
3124
|
+
n: String(ref.index)
|
|
3125
|
+
})
|
|
3126
|
+
);
|
|
3127
|
+
}
|
|
3128
|
+
default:
|
|
3129
|
+
return tbd(t(ctx.lang, "bracket.slot.tbd"));
|
|
3130
|
+
}
|
|
3131
|
+
}
|
|
3132
|
+
function buildBracketView(topology, matches, tables, standingsDegraded, liveDegraded, filterStage, lang) {
|
|
3133
|
+
const knockout = matches.filter((m) => m.stage !== "GROUP" && m.stage !== "FRIENDLY");
|
|
3134
|
+
const matchesById = new Map(knockout.map((m) => [m.id, m]));
|
|
3135
|
+
const nodesByKey = new Map(topology.matches.map((n) => [matchKey(n.stage, n.index), n]));
|
|
3136
|
+
const ctx = { nodesByKey, matchesById, tables, standingsDegraded, lang };
|
|
3137
|
+
const want = filterStage?.toUpperCase();
|
|
3138
|
+
const stages = [];
|
|
3139
|
+
for (const stage of topology.stages) {
|
|
3140
|
+
if (want && stage !== want) continue;
|
|
3141
|
+
const nodes = topology.matches.filter((n) => n.stage === stage);
|
|
3142
|
+
const matchViews = nodes.map((node) => {
|
|
3143
|
+
const match = matchesById.get(node.matchId) ?? {
|
|
3144
|
+
id: node.matchId,
|
|
3145
|
+
stage: node.stage,
|
|
3146
|
+
kickoff: "",
|
|
3147
|
+
venue: "",
|
|
3148
|
+
home: { code: "?", name: "TBD", flag: "\u{1F3F3}\uFE0F" },
|
|
3149
|
+
away: { code: "?", name: "TBD", flag: "\u{1F3F3}\uFE0F" },
|
|
3150
|
+
status: "SCHEDULED",
|
|
3151
|
+
updatedAt: ""
|
|
3152
|
+
};
|
|
3153
|
+
return {
|
|
3154
|
+
matchId: node.matchId,
|
|
3155
|
+
stage: node.stage,
|
|
3156
|
+
index: node.index,
|
|
3157
|
+
kickoff: match.kickoff,
|
|
3158
|
+
home: resolveSlot(node.home, ctx),
|
|
3159
|
+
away: resolveSlot(node.away, ctx),
|
|
3160
|
+
match
|
|
3161
|
+
};
|
|
3162
|
+
});
|
|
3163
|
+
stages.push({
|
|
3164
|
+
stage,
|
|
3165
|
+
label: stageLabelI18n(lang, stage),
|
|
3166
|
+
matches: matchViews
|
|
3167
|
+
});
|
|
3168
|
+
}
|
|
3169
|
+
return {
|
|
3170
|
+
stages,
|
|
3171
|
+
degraded: liveDegraded,
|
|
3172
|
+
standingsDegraded
|
|
3173
|
+
};
|
|
3174
|
+
}
|
|
3175
|
+
var bracket_2026_default = {
|
|
3176
|
+
generatedAt: "2026-06-24T01:20:06.749Z",
|
|
3177
|
+
stages: [
|
|
3178
|
+
"R32",
|
|
3179
|
+
"R16",
|
|
3180
|
+
"QF",
|
|
3181
|
+
"SF",
|
|
3182
|
+
"3P",
|
|
3183
|
+
"F"
|
|
3184
|
+
],
|
|
3185
|
+
matches: [
|
|
3186
|
+
{
|
|
3187
|
+
matchId: "760486",
|
|
3188
|
+
stage: "R32",
|
|
3189
|
+
index: 1,
|
|
3190
|
+
home: {
|
|
3191
|
+
kind: "group",
|
|
3192
|
+
position: 2,
|
|
3193
|
+
group: "A"
|
|
3194
|
+
},
|
|
3195
|
+
away: {
|
|
3196
|
+
kind: "group",
|
|
3197
|
+
position: 2,
|
|
3198
|
+
group: "B"
|
|
3199
|
+
}
|
|
3200
|
+
},
|
|
3201
|
+
{
|
|
3202
|
+
matchId: "760487",
|
|
3203
|
+
stage: "R32",
|
|
3204
|
+
index: 2,
|
|
3205
|
+
home: {
|
|
3206
|
+
kind: "group",
|
|
3207
|
+
position: 1,
|
|
3208
|
+
group: "C"
|
|
3209
|
+
},
|
|
3210
|
+
away: {
|
|
3211
|
+
kind: "group",
|
|
3212
|
+
position: 2,
|
|
3213
|
+
group: "F"
|
|
3214
|
+
}
|
|
3215
|
+
},
|
|
3216
|
+
{
|
|
3217
|
+
matchId: "760488",
|
|
3218
|
+
stage: "R32",
|
|
3219
|
+
index: 3,
|
|
3220
|
+
home: {
|
|
3221
|
+
kind: "group",
|
|
3222
|
+
position: 1,
|
|
3223
|
+
group: "F"
|
|
3224
|
+
},
|
|
3225
|
+
away: {
|
|
3226
|
+
kind: "group",
|
|
3227
|
+
position: 2,
|
|
3228
|
+
group: "C"
|
|
3229
|
+
}
|
|
3230
|
+
},
|
|
3231
|
+
{
|
|
3232
|
+
matchId: "760489",
|
|
3233
|
+
stage: "R32",
|
|
3234
|
+
index: 4,
|
|
3235
|
+
home: {
|
|
3236
|
+
kind: "seed",
|
|
3237
|
+
label: "Germany",
|
|
3238
|
+
code: "TBD"
|
|
3239
|
+
},
|
|
3240
|
+
away: {
|
|
3241
|
+
kind: "third",
|
|
3242
|
+
groups: [
|
|
3243
|
+
"A",
|
|
3244
|
+
"B",
|
|
3245
|
+
"C",
|
|
3246
|
+
"D",
|
|
3247
|
+
"F"
|
|
3248
|
+
]
|
|
3249
|
+
}
|
|
3250
|
+
},
|
|
3251
|
+
{
|
|
3252
|
+
matchId: "760490",
|
|
3253
|
+
stage: "R32",
|
|
3254
|
+
index: 5,
|
|
3255
|
+
home: {
|
|
3256
|
+
kind: "group",
|
|
3257
|
+
position: 2,
|
|
3258
|
+
group: "E"
|
|
3259
|
+
},
|
|
3260
|
+
away: {
|
|
3261
|
+
kind: "group",
|
|
3262
|
+
position: 2,
|
|
3263
|
+
group: "I"
|
|
3264
|
+
}
|
|
3265
|
+
},
|
|
3266
|
+
{
|
|
3267
|
+
matchId: "760491",
|
|
3268
|
+
stage: "R32",
|
|
3269
|
+
index: 6,
|
|
3270
|
+
home: {
|
|
3271
|
+
kind: "seed",
|
|
3272
|
+
label: "Mexico",
|
|
3273
|
+
code: "TBD"
|
|
3274
|
+
},
|
|
3275
|
+
away: {
|
|
3276
|
+
kind: "third",
|
|
3277
|
+
groups: [
|
|
3278
|
+
"C",
|
|
3279
|
+
"E",
|
|
3280
|
+
"F",
|
|
3281
|
+
"H",
|
|
3282
|
+
"I"
|
|
3283
|
+
]
|
|
3284
|
+
}
|
|
3285
|
+
},
|
|
3286
|
+
{
|
|
3287
|
+
matchId: "760492",
|
|
3288
|
+
stage: "R32",
|
|
3289
|
+
index: 7,
|
|
3290
|
+
home: {
|
|
3291
|
+
kind: "group",
|
|
3292
|
+
position: 1,
|
|
3293
|
+
group: "I"
|
|
3294
|
+
},
|
|
3295
|
+
away: {
|
|
3296
|
+
kind: "third",
|
|
3297
|
+
groups: [
|
|
3298
|
+
"C",
|
|
3299
|
+
"D",
|
|
3300
|
+
"F",
|
|
3301
|
+
"G",
|
|
3302
|
+
"H"
|
|
3303
|
+
]
|
|
3304
|
+
}
|
|
3305
|
+
},
|
|
3306
|
+
{
|
|
3307
|
+
matchId: "760493",
|
|
3308
|
+
stage: "R32",
|
|
3309
|
+
index: 8,
|
|
3310
|
+
home: {
|
|
3311
|
+
kind: "group",
|
|
3312
|
+
position: 1,
|
|
3313
|
+
group: "G"
|
|
3314
|
+
},
|
|
3315
|
+
away: {
|
|
3316
|
+
kind: "third",
|
|
3317
|
+
groups: [
|
|
3318
|
+
"A",
|
|
3319
|
+
"E",
|
|
3320
|
+
"H",
|
|
3321
|
+
"I",
|
|
3322
|
+
"J"
|
|
3323
|
+
]
|
|
3324
|
+
}
|
|
3325
|
+
},
|
|
3326
|
+
{
|
|
3327
|
+
matchId: "760494",
|
|
3328
|
+
stage: "R32",
|
|
3329
|
+
index: 9,
|
|
3330
|
+
home: {
|
|
3331
|
+
kind: "seed",
|
|
3332
|
+
label: "United States",
|
|
3333
|
+
code: "TBD"
|
|
3334
|
+
},
|
|
3335
|
+
away: {
|
|
3336
|
+
kind: "third",
|
|
3337
|
+
groups: [
|
|
3338
|
+
"B",
|
|
3339
|
+
"E",
|
|
3340
|
+
"F",
|
|
3341
|
+
"I",
|
|
3342
|
+
"J"
|
|
3343
|
+
]
|
|
3344
|
+
}
|
|
3345
|
+
},
|
|
3346
|
+
{
|
|
3347
|
+
matchId: "760495",
|
|
3348
|
+
stage: "R32",
|
|
3349
|
+
index: 10,
|
|
3350
|
+
home: {
|
|
3351
|
+
kind: "group",
|
|
3352
|
+
position: 1,
|
|
3353
|
+
group: "L"
|
|
3354
|
+
},
|
|
3355
|
+
away: {
|
|
3356
|
+
kind: "third",
|
|
3357
|
+
groups: [
|
|
3358
|
+
"E",
|
|
3359
|
+
"H",
|
|
3360
|
+
"I",
|
|
3361
|
+
"J",
|
|
3362
|
+
"K"
|
|
3363
|
+
]
|
|
3364
|
+
}
|
|
3365
|
+
},
|
|
3366
|
+
{
|
|
3367
|
+
matchId: "760496",
|
|
3368
|
+
stage: "R32",
|
|
3369
|
+
index: 11,
|
|
3370
|
+
home: {
|
|
3371
|
+
kind: "group",
|
|
3372
|
+
position: 2,
|
|
3373
|
+
group: "K"
|
|
3374
|
+
},
|
|
3375
|
+
away: {
|
|
3376
|
+
kind: "group",
|
|
3377
|
+
position: 2,
|
|
3378
|
+
group: "L"
|
|
3379
|
+
}
|
|
3380
|
+
},
|
|
3381
|
+
{
|
|
3382
|
+
matchId: "760497",
|
|
3383
|
+
stage: "R32",
|
|
3384
|
+
index: 12,
|
|
3385
|
+
home: {
|
|
3386
|
+
kind: "group",
|
|
3387
|
+
position: 1,
|
|
3388
|
+
group: "H"
|
|
3389
|
+
},
|
|
3390
|
+
away: {
|
|
3391
|
+
kind: "group",
|
|
3392
|
+
position: 2,
|
|
3393
|
+
group: "J"
|
|
3394
|
+
}
|
|
3395
|
+
},
|
|
3396
|
+
{
|
|
3397
|
+
matchId: "760498",
|
|
3398
|
+
stage: "R32",
|
|
3399
|
+
index: 13,
|
|
3400
|
+
home: {
|
|
3401
|
+
kind: "group",
|
|
3402
|
+
position: 1,
|
|
3403
|
+
group: "B"
|
|
3404
|
+
},
|
|
3405
|
+
away: {
|
|
3406
|
+
kind: "third",
|
|
3407
|
+
groups: [
|
|
3408
|
+
"E",
|
|
3409
|
+
"F",
|
|
3410
|
+
"G",
|
|
3411
|
+
"I",
|
|
3412
|
+
"J"
|
|
3413
|
+
]
|
|
3414
|
+
}
|
|
3415
|
+
},
|
|
3416
|
+
{
|
|
3417
|
+
matchId: "760499",
|
|
3418
|
+
stage: "R32",
|
|
3419
|
+
index: 14,
|
|
3420
|
+
home: {
|
|
3421
|
+
kind: "group",
|
|
3422
|
+
position: 2,
|
|
3423
|
+
group: "D"
|
|
3424
|
+
},
|
|
3425
|
+
away: {
|
|
3426
|
+
kind: "group",
|
|
3427
|
+
position: 2,
|
|
3428
|
+
group: "G"
|
|
3429
|
+
}
|
|
3430
|
+
},
|
|
3431
|
+
{
|
|
3432
|
+
matchId: "760500",
|
|
3433
|
+
stage: "R32",
|
|
3434
|
+
index: 15,
|
|
3435
|
+
home: {
|
|
3436
|
+
kind: "seed",
|
|
3437
|
+
label: "Argentina",
|
|
3438
|
+
code: "TBD"
|
|
3439
|
+
},
|
|
3440
|
+
away: {
|
|
3441
|
+
kind: "group",
|
|
3442
|
+
position: 2,
|
|
3443
|
+
group: "H"
|
|
3444
|
+
}
|
|
3445
|
+
},
|
|
3446
|
+
{
|
|
3447
|
+
matchId: "760501",
|
|
3448
|
+
stage: "R32",
|
|
3449
|
+
index: 16,
|
|
3450
|
+
home: {
|
|
3451
|
+
kind: "group",
|
|
3452
|
+
position: 1,
|
|
3453
|
+
group: "K"
|
|
3454
|
+
},
|
|
3455
|
+
away: {
|
|
3456
|
+
kind: "third",
|
|
3457
|
+
groups: [
|
|
3458
|
+
"D",
|
|
3459
|
+
"E",
|
|
3460
|
+
"I",
|
|
3461
|
+
"J",
|
|
3462
|
+
"L"
|
|
3463
|
+
]
|
|
3464
|
+
}
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
matchId: "760502",
|
|
3468
|
+
stage: "R16",
|
|
3469
|
+
index: 1,
|
|
3470
|
+
home: {
|
|
3471
|
+
kind: "winner",
|
|
3472
|
+
stage: "R32",
|
|
3473
|
+
index: 1
|
|
3474
|
+
},
|
|
3475
|
+
away: {
|
|
3476
|
+
kind: "winner",
|
|
3477
|
+
stage: "R32",
|
|
3478
|
+
index: 3
|
|
3479
|
+
}
|
|
3480
|
+
},
|
|
3481
|
+
{
|
|
3482
|
+
matchId: "760503",
|
|
3483
|
+
stage: "R16",
|
|
3484
|
+
index: 2,
|
|
3485
|
+
home: {
|
|
3486
|
+
kind: "winner",
|
|
3487
|
+
stage: "R32",
|
|
3488
|
+
index: 2
|
|
3489
|
+
},
|
|
3490
|
+
away: {
|
|
3491
|
+
kind: "winner",
|
|
3492
|
+
stage: "R32",
|
|
3493
|
+
index: 5
|
|
3494
|
+
}
|
|
3495
|
+
},
|
|
3496
|
+
{
|
|
3497
|
+
matchId: "760504",
|
|
3498
|
+
stage: "R16",
|
|
3499
|
+
index: 3,
|
|
3500
|
+
home: {
|
|
3501
|
+
kind: "winner",
|
|
3502
|
+
stage: "R32",
|
|
3503
|
+
index: 4
|
|
3504
|
+
},
|
|
3505
|
+
away: {
|
|
3506
|
+
kind: "winner",
|
|
3507
|
+
stage: "R32",
|
|
3508
|
+
index: 6
|
|
3509
|
+
}
|
|
3510
|
+
},
|
|
3511
|
+
{
|
|
3512
|
+
matchId: "760505",
|
|
3513
|
+
stage: "R16",
|
|
3514
|
+
index: 4,
|
|
3515
|
+
home: {
|
|
3516
|
+
kind: "winner",
|
|
3517
|
+
stage: "R32",
|
|
3518
|
+
index: 7
|
|
3519
|
+
},
|
|
3520
|
+
away: {
|
|
3521
|
+
kind: "winner",
|
|
3522
|
+
stage: "R32",
|
|
3523
|
+
index: 8
|
|
3524
|
+
}
|
|
3525
|
+
},
|
|
3526
|
+
{
|
|
3527
|
+
matchId: "760506",
|
|
3528
|
+
stage: "R16",
|
|
3529
|
+
index: 5,
|
|
3530
|
+
home: {
|
|
3531
|
+
kind: "winner",
|
|
3532
|
+
stage: "R32",
|
|
3533
|
+
index: 11
|
|
3534
|
+
},
|
|
3535
|
+
away: {
|
|
3536
|
+
kind: "winner",
|
|
3537
|
+
stage: "R32",
|
|
3538
|
+
index: 12
|
|
3539
|
+
}
|
|
3540
|
+
},
|
|
3541
|
+
{
|
|
3542
|
+
matchId: "760507",
|
|
3543
|
+
stage: "R16",
|
|
3544
|
+
index: 6,
|
|
3545
|
+
home: {
|
|
3546
|
+
kind: "winner",
|
|
3547
|
+
stage: "R32",
|
|
3548
|
+
index: 9
|
|
3549
|
+
},
|
|
3550
|
+
away: {
|
|
3551
|
+
kind: "winner",
|
|
3552
|
+
stage: "R32",
|
|
3553
|
+
index: 10
|
|
3554
|
+
}
|
|
3555
|
+
},
|
|
3556
|
+
{
|
|
3557
|
+
matchId: "760508",
|
|
3558
|
+
stage: "R16",
|
|
3559
|
+
index: 7,
|
|
3560
|
+
home: {
|
|
3561
|
+
kind: "winner",
|
|
3562
|
+
stage: "R32",
|
|
3563
|
+
index: 13
|
|
3564
|
+
},
|
|
3565
|
+
away: {
|
|
3566
|
+
kind: "winner",
|
|
3567
|
+
stage: "R32",
|
|
3568
|
+
index: 15
|
|
3569
|
+
}
|
|
3570
|
+
},
|
|
3571
|
+
{
|
|
3572
|
+
matchId: "760509",
|
|
3573
|
+
stage: "R16",
|
|
3574
|
+
index: 8,
|
|
3575
|
+
home: {
|
|
3576
|
+
kind: "winner",
|
|
3577
|
+
stage: "R32",
|
|
3578
|
+
index: 14
|
|
3579
|
+
},
|
|
3580
|
+
away: {
|
|
3581
|
+
kind: "winner",
|
|
3582
|
+
stage: "R32",
|
|
3583
|
+
index: 16
|
|
3584
|
+
}
|
|
3585
|
+
},
|
|
3586
|
+
{
|
|
3587
|
+
matchId: "760510",
|
|
3588
|
+
stage: "QF",
|
|
3589
|
+
index: 1,
|
|
3590
|
+
home: {
|
|
3591
|
+
kind: "winner",
|
|
3592
|
+
stage: "R16",
|
|
3593
|
+
index: 1
|
|
3594
|
+
},
|
|
3595
|
+
away: {
|
|
3596
|
+
kind: "winner",
|
|
3597
|
+
stage: "R16",
|
|
3598
|
+
index: 2
|
|
3599
|
+
}
|
|
3600
|
+
},
|
|
3601
|
+
{
|
|
3602
|
+
matchId: "760511",
|
|
3603
|
+
stage: "QF",
|
|
3604
|
+
index: 2,
|
|
3605
|
+
home: {
|
|
3606
|
+
kind: "winner",
|
|
3607
|
+
stage: "R16",
|
|
3608
|
+
index: 5
|
|
3609
|
+
},
|
|
3610
|
+
away: {
|
|
3611
|
+
kind: "winner",
|
|
3612
|
+
stage: "R16",
|
|
3613
|
+
index: 6
|
|
3614
|
+
}
|
|
3615
|
+
},
|
|
3616
|
+
{
|
|
3617
|
+
matchId: "760512",
|
|
3618
|
+
stage: "QF",
|
|
3619
|
+
index: 3,
|
|
3620
|
+
home: {
|
|
3621
|
+
kind: "winner",
|
|
3622
|
+
stage: "R16",
|
|
3623
|
+
index: 3
|
|
3624
|
+
},
|
|
3625
|
+
away: {
|
|
3626
|
+
kind: "winner",
|
|
3627
|
+
stage: "R16",
|
|
3628
|
+
index: 4
|
|
3629
|
+
}
|
|
3630
|
+
},
|
|
3631
|
+
{
|
|
3632
|
+
matchId: "760513",
|
|
3633
|
+
stage: "QF",
|
|
3634
|
+
index: 4,
|
|
3635
|
+
home: {
|
|
3636
|
+
kind: "winner",
|
|
3637
|
+
stage: "R16",
|
|
3638
|
+
index: 7
|
|
3639
|
+
},
|
|
3640
|
+
away: {
|
|
3641
|
+
kind: "winner",
|
|
3642
|
+
stage: "R16",
|
|
3643
|
+
index: 8
|
|
3644
|
+
}
|
|
3645
|
+
},
|
|
3646
|
+
{
|
|
3647
|
+
matchId: "760514",
|
|
3648
|
+
stage: "SF",
|
|
3649
|
+
index: 1,
|
|
3650
|
+
home: {
|
|
3651
|
+
kind: "winner",
|
|
3652
|
+
stage: "QF",
|
|
3653
|
+
index: 1
|
|
3654
|
+
},
|
|
3655
|
+
away: {
|
|
3656
|
+
kind: "winner",
|
|
3657
|
+
stage: "QF",
|
|
3658
|
+
index: 2
|
|
3659
|
+
}
|
|
3660
|
+
},
|
|
3661
|
+
{
|
|
3662
|
+
matchId: "760515",
|
|
3663
|
+
stage: "SF",
|
|
3664
|
+
index: 2,
|
|
3665
|
+
home: {
|
|
3666
|
+
kind: "winner",
|
|
3667
|
+
stage: "QF",
|
|
3668
|
+
index: 3
|
|
3669
|
+
},
|
|
3670
|
+
away: {
|
|
3671
|
+
kind: "winner",
|
|
3672
|
+
stage: "QF",
|
|
3673
|
+
index: 4
|
|
3674
|
+
}
|
|
3675
|
+
},
|
|
3676
|
+
{
|
|
3677
|
+
matchId: "760516",
|
|
3678
|
+
stage: "3P",
|
|
3679
|
+
index: 1,
|
|
3680
|
+
home: {
|
|
3681
|
+
kind: "loser",
|
|
3682
|
+
stage: "SF",
|
|
3683
|
+
index: 1
|
|
3684
|
+
},
|
|
3685
|
+
away: {
|
|
3686
|
+
kind: "loser",
|
|
3687
|
+
stage: "SF",
|
|
3688
|
+
index: 2
|
|
3689
|
+
}
|
|
3690
|
+
},
|
|
3691
|
+
{
|
|
3692
|
+
matchId: "760517",
|
|
3693
|
+
stage: "F",
|
|
3694
|
+
index: 1,
|
|
3695
|
+
home: {
|
|
3696
|
+
kind: "winner",
|
|
3697
|
+
stage: "SF",
|
|
3698
|
+
index: 1
|
|
3699
|
+
},
|
|
3700
|
+
away: {
|
|
3701
|
+
kind: "winner",
|
|
3702
|
+
stage: "SF",
|
|
3703
|
+
index: 2
|
|
3704
|
+
}
|
|
3705
|
+
}
|
|
3706
|
+
]
|
|
3707
|
+
};
|
|
3708
|
+
var TOPOLOGY = bracket_2026_default;
|
|
3709
|
+
function loadBracketTopology() {
|
|
3710
|
+
return TOPOLOGY;
|
|
3711
|
+
}
|
|
2874
3712
|
function resolveCompetition(explicit) {
|
|
2875
3713
|
if (explicit) return explicit;
|
|
2876
3714
|
if (typeof process !== "undefined" && process.env?.CLAUDINHO_COMPETITION) {
|
|
@@ -2911,7 +3749,7 @@ async function getStandings(adapter, group) {
|
|
|
2911
3749
|
if (adapter.fetchStandings) {
|
|
2912
3750
|
try {
|
|
2913
3751
|
const all = await adapter.fetchStandings();
|
|
2914
|
-
const tables2 = (want ? all.filter((
|
|
3752
|
+
const tables2 = (want ? all.filter((t2) => t2.group === want) : all).sort(
|
|
2915
3753
|
(a, b) => a.group.localeCompare(b.group)
|
|
2916
3754
|
);
|
|
2917
3755
|
return { tables: tables2, degraded: false, source: adapter.name };
|
|
@@ -2919,9 +3757,45 @@ async function getStandings(adapter, group) {
|
|
|
2919
3757
|
}
|
|
2920
3758
|
}
|
|
2921
3759
|
const letters = want ? [want] : groups();
|
|
2922
|
-
const tables = letters.map((g) => ({ group: g, rows: rosterAtZero(fixturesByGroup(g)) })).filter((
|
|
3760
|
+
const tables = letters.map((g) => ({ group: g, rows: rosterAtZero(fixturesByGroup(g)) })).filter((t2) => t2.rows.length > 0);
|
|
2923
3761
|
return { tables, degraded: true };
|
|
2924
3762
|
}
|
|
3763
|
+
var KNOCKOUT_WINDOW_START = "20260628";
|
|
3764
|
+
var KNOCKOUT_WINDOW_END = "20260719";
|
|
3765
|
+
async function getBracket(adapter, opts = {}) {
|
|
3766
|
+
const topology = loadBracketTopology();
|
|
3767
|
+
const base = allFixtures().filter((m) => m.stage !== "GROUP" && m.stage !== "FRIENDLY");
|
|
3768
|
+
let matches = base;
|
|
3769
|
+
let liveDegraded = true;
|
|
3770
|
+
let source;
|
|
3771
|
+
try {
|
|
3772
|
+
const live = adapter.fetchWindow ? await adapter.fetchWindow(KNOCKOUT_WINDOW_START, KNOCKOUT_WINDOW_END) : [];
|
|
3773
|
+
matches = mergeLive(base, live);
|
|
3774
|
+
liveDegraded = false;
|
|
3775
|
+
source = adapter.name;
|
|
3776
|
+
} catch {
|
|
3777
|
+
}
|
|
3778
|
+
const standings = await getStandings(adapter);
|
|
3779
|
+
if (!source && !standings.degraded && standings.source) {
|
|
3780
|
+
source = standings.source;
|
|
3781
|
+
}
|
|
3782
|
+
const view = buildBracketView(
|
|
3783
|
+
topology,
|
|
3784
|
+
matches,
|
|
3785
|
+
standings.tables,
|
|
3786
|
+
standings.degraded,
|
|
3787
|
+
liveDegraded,
|
|
3788
|
+
opts.stage,
|
|
3789
|
+
opts.lang
|
|
3790
|
+
);
|
|
3791
|
+
if (source) view.source = source;
|
|
3792
|
+
return {
|
|
3793
|
+
view,
|
|
3794
|
+
degraded: liveDegraded,
|
|
3795
|
+
standingsDegraded: standings.degraded,
|
|
3796
|
+
source
|
|
3797
|
+
};
|
|
3798
|
+
}
|
|
2925
3799
|
function shiftUtcDate(dateISO, days) {
|
|
2926
3800
|
const [y, m, d] = dateISO.slice(0, 10).split("-").map(Number);
|
|
2927
3801
|
return new Date(Date.UTC(y ?? 1970, (m ?? 1) - 1, (d ?? 1) + days)).toISOString().slice(0, 10);
|
|
@@ -3075,9 +3949,9 @@ function outcomeLabel(o, match) {
|
|
|
3075
3949
|
return o.label;
|
|
3076
3950
|
}
|
|
3077
3951
|
function utcHhmm(iso) {
|
|
3078
|
-
const
|
|
3079
|
-
if (!Number.isFinite(
|
|
3080
|
-
return `${new Date(
|
|
3952
|
+
const t2 = Date.parse(iso);
|
|
3953
|
+
if (!Number.isFinite(t2)) return "";
|
|
3954
|
+
return `${new Date(t2).toISOString().slice(11, 16)} UTC`;
|
|
3081
3955
|
}
|
|
3082
3956
|
function marketFavoriteText(signal, match) {
|
|
3083
3957
|
const fav = signal.favorite;
|
|
@@ -3515,6 +4389,78 @@ function formatShareTable(input, options = {}) {
|
|
|
3515
4389
|
);
|
|
3516
4390
|
return blocks.join("\n\n");
|
|
3517
4391
|
}
|
|
4392
|
+
function formatParticipant(p, flags, locale) {
|
|
4393
|
+
const suffix = p.status === "projected" ? ` ${t(locale, "bracket.projected")}` : "";
|
|
4394
|
+
if (flags && p.flag !== "\u{1F3F3}\uFE0F") return `${p.flag} ${p.label}${suffix}`;
|
|
4395
|
+
if (p.code) return `${p.code}${suffix}`;
|
|
4396
|
+
return `${p.label}${suffix}`;
|
|
4397
|
+
}
|
|
4398
|
+
function statusTail2(m) {
|
|
4399
|
+
if (m.status === "LIVE" && m.minute) return ` ${m.minute}'`;
|
|
4400
|
+
if (m.status === "HT") return " HT";
|
|
4401
|
+
if (m.status === "FT") return " FT";
|
|
4402
|
+
if (isLive(m.status)) return " LIVE";
|
|
4403
|
+
return "";
|
|
4404
|
+
}
|
|
4405
|
+
function formatBracketMatchLine(mv, opts = {}) {
|
|
4406
|
+
const flags = opts.flags !== false;
|
|
4407
|
+
const home = formatParticipant(mv.home, flags, opts.locale);
|
|
4408
|
+
const away = formatParticipant(mv.away, flags, opts.locale);
|
|
4409
|
+
const m = mv.match;
|
|
4410
|
+
if (isFinished(m.status) || isLive(m.status)) {
|
|
4411
|
+
return ` ${home} ${scoreline(m)} ${away}${statusTail2(m)}`;
|
|
4412
|
+
}
|
|
4413
|
+
const kickoff = mv.kickoff ? formatKickoff(mv.kickoff, { tz: opts.tz, locale: opts.locale }) : "";
|
|
4414
|
+
return ` ${home} vs ${away}${kickoff ? ` \xB7 ${kickoff}` : ""}`;
|
|
4415
|
+
}
|
|
4416
|
+
function formatBracketList(view, opts = {}) {
|
|
4417
|
+
const blocks = [];
|
|
4418
|
+
for (const stage of view.stages) {
|
|
4419
|
+
blocks.push(stage.label);
|
|
4420
|
+
for (const mv of stage.matches) {
|
|
4421
|
+
blocks.push(formatBracketMatchLine(mv, opts));
|
|
4422
|
+
}
|
|
4423
|
+
blocks.push("");
|
|
4424
|
+
}
|
|
4425
|
+
if (opts.footer !== false) {
|
|
4426
|
+
if (view.degraded) {
|
|
4427
|
+
blocks.push(`(${t(opts.locale, "bracket.degraded")})`);
|
|
4428
|
+
} else if (view.standingsDegraded) {
|
|
4429
|
+
blocks.push(`(${t(opts.locale, "bracket.standingsDegraded")})`);
|
|
4430
|
+
}
|
|
4431
|
+
if (view.source) {
|
|
4432
|
+
blocks.push(t(opts.locale, "live.data", { source: liveSourceLabel(view.source) }));
|
|
4433
|
+
}
|
|
4434
|
+
}
|
|
4435
|
+
return blocks.join("\n").trimEnd();
|
|
4436
|
+
}
|
|
4437
|
+
function formatShareBracket(input, options = {}) {
|
|
4438
|
+
const includeHashtag = options.includeHashtag !== false;
|
|
4439
|
+
const includeInstall = options.includeInstallLine !== false;
|
|
4440
|
+
const locale = options.locale;
|
|
4441
|
+
const blocks = [t(locale, "bracket.shareTitle"), ""];
|
|
4442
|
+
if (input.view.stages.length === 0) {
|
|
4443
|
+
blocks.push(input.emptyNote ?? t(locale, "bracket.empty"));
|
|
4444
|
+
} else {
|
|
4445
|
+
blocks.push(formatBracketList(input.view, { footer: false, locale }));
|
|
4446
|
+
if (input.view.degraded) {
|
|
4447
|
+
blocks.push(`(${t(locale, "bracket.degraded")})`);
|
|
4448
|
+
} else if (input.view.standingsDegraded) {
|
|
4449
|
+
blocks.push(`(${t(locale, "bracket.standingsDegraded")})`);
|
|
4450
|
+
}
|
|
4451
|
+
}
|
|
4452
|
+
const footer = [];
|
|
4453
|
+
const src = input.source ?? input.view.source;
|
|
4454
|
+
if (src) footer.push(t(locale, "live.data", { source: liveSourceLabel(src) }));
|
|
4455
|
+
footer.push(
|
|
4456
|
+
[includeHashtag ? SHARE_HASHTAG : "", SHARE_DISCLAIMER].filter(Boolean).join(" \xB7 ")
|
|
4457
|
+
);
|
|
4458
|
+
if (includeInstall && input.installLine) {
|
|
4459
|
+
footer.push(t(locale, "share.tryIt", { line: input.installLine }));
|
|
4460
|
+
}
|
|
4461
|
+
blocks.push("", footer.join("\n"));
|
|
4462
|
+
return blocks.join("\n");
|
|
4463
|
+
}
|
|
3518
4464
|
|
|
3519
4465
|
// src/format.ts
|
|
3520
4466
|
var STATUS_LABEL = {
|
|
@@ -3660,9 +4606,9 @@ function fmtOpts(args) {
|
|
|
3660
4606
|
flavor: asFlavorLevel(args.flavor ?? process.env.CLAUDINHO_FLAVOR)
|
|
3661
4607
|
};
|
|
3662
4608
|
}
|
|
3663
|
-
function withDisclaimer(text, source) {
|
|
4609
|
+
function withDisclaimer(text, source, lang) {
|
|
3664
4610
|
const live = source ? `
|
|
3665
|
-
|
|
4611
|
+
${t(lang, "live.data", { source: liveSourceLabel(source) })}` : "";
|
|
3666
4612
|
return `${text}${live}
|
|
3667
4613
|
|
|
3668
4614
|
${DISCLAIMER}`;
|
|
@@ -3737,13 +4683,45 @@ async function toolGetStandings(args) {
|
|
|
3737
4683
|
data: { degraded, source: source ?? null, tables: args.group ? null : [] }
|
|
3738
4684
|
};
|
|
3739
4685
|
}
|
|
3740
|
-
let text = shaped.map((
|
|
4686
|
+
let text = shaped.map((t2) => standingsTable(t2.group, t2.standings)).join("\n\n");
|
|
3741
4687
|
if (degraded) text += "\n\n(Live standings unavailable \u2014 showing the group roster.)";
|
|
3742
4688
|
return {
|
|
3743
4689
|
text: withDisclaimer(text, source),
|
|
3744
4690
|
data: { degraded, source: source ?? null, tables: args.group ? shaped[0] ?? null : shaped }
|
|
3745
4691
|
};
|
|
3746
4692
|
}
|
|
4693
|
+
var BRACKET_STAGES = /* @__PURE__ */ new Set(["R32", "R16", "QF", "SF", "3P", "F"]);
|
|
4694
|
+
async function toolGetBracket(args) {
|
|
4695
|
+
const filter = args.stage?.toUpperCase();
|
|
4696
|
+
if (filter && !BRACKET_STAGES.has(filter)) {
|
|
4697
|
+
return {
|
|
4698
|
+
text: withDisclaimer(
|
|
4699
|
+
t(args.lang, "bracket.unknownStage", { stage: args.stage ?? "" }),
|
|
4700
|
+
void 0,
|
|
4701
|
+
args.lang
|
|
4702
|
+
),
|
|
4703
|
+
data: { view: null }
|
|
4704
|
+
};
|
|
4705
|
+
}
|
|
4706
|
+
const { view, degraded, standingsDegraded, source } = await getBracket(
|
|
4707
|
+
resolveAdapter(args),
|
|
4708
|
+
filter ? { stage: filter, lang: args.lang } : { lang: args.lang }
|
|
4709
|
+
);
|
|
4710
|
+
let text = formatBracketList(view, { footer: false, locale: args.lang });
|
|
4711
|
+
if (degraded) {
|
|
4712
|
+
text += `
|
|
4713
|
+
|
|
4714
|
+
(${t(args.lang, "bracket.degraded")})`;
|
|
4715
|
+
} else if (standingsDegraded) {
|
|
4716
|
+
text += `
|
|
4717
|
+
|
|
4718
|
+
(${t(args.lang, "bracket.standingsDegraded")})`;
|
|
4719
|
+
}
|
|
4720
|
+
return {
|
|
4721
|
+
text: withDisclaimer(text, source, args.lang),
|
|
4722
|
+
data: { degraded, standingsDegraded, source: source ?? null, view }
|
|
4723
|
+
};
|
|
4724
|
+
}
|
|
3747
4725
|
async function standingsResourceText(group, adapter) {
|
|
3748
4726
|
const g = group.toUpperCase();
|
|
3749
4727
|
const { tables, degraded, source } = await getStandings(adapter, g);
|
|
@@ -3921,6 +4899,45 @@ async function toolGetShareSnippet(args) {
|
|
|
3921
4899
|
}
|
|
3922
4900
|
};
|
|
3923
4901
|
}
|
|
4902
|
+
if (args.bracket) {
|
|
4903
|
+
const stageFilter = args.knockoutStage?.toUpperCase();
|
|
4904
|
+
if (stageFilter && !BRACKET_STAGES.has(stageFilter)) {
|
|
4905
|
+
return {
|
|
4906
|
+
text: withDisclaimer(
|
|
4907
|
+
t(args.lang, "bracket.unknownStage", { stage: args.knockoutStage ?? "" }),
|
|
4908
|
+
void 0,
|
|
4909
|
+
args.lang
|
|
4910
|
+
),
|
|
4911
|
+
data: { kind: "bracket", view: null }
|
|
4912
|
+
};
|
|
4913
|
+
}
|
|
4914
|
+
const { view, degraded: degraded2, source: source2 } = await getBracket(
|
|
4915
|
+
resolveAdapter(args),
|
|
4916
|
+
stageFilter ? { stage: stageFilter, lang: args.lang } : { lang: args.lang }
|
|
4917
|
+
);
|
|
4918
|
+
const snippet = formatShareBracket(
|
|
4919
|
+
{
|
|
4920
|
+
view,
|
|
4921
|
+
source: degraded2 ? void 0 : source2,
|
|
4922
|
+
installLine: stageFilter ? `npx @claudinho/cli bracket ${stageFilter}` : "npx @claudinho/cli bracket",
|
|
4923
|
+
emptyNote: t(args.lang, "bracket.empty")
|
|
4924
|
+
},
|
|
4925
|
+
{ ...options, locale: args.lang }
|
|
4926
|
+
);
|
|
4927
|
+
return {
|
|
4928
|
+
text: snippet,
|
|
4929
|
+
data: {
|
|
4930
|
+
kind: "bracket",
|
|
4931
|
+
target: "bracket",
|
|
4932
|
+
...stageFilter ? { stage: stageFilter } : {},
|
|
4933
|
+
source: degraded2 ? null : source2 ?? null,
|
|
4934
|
+
degraded: degraded2,
|
|
4935
|
+
informationalOnly: true,
|
|
4936
|
+
snippet,
|
|
4937
|
+
view
|
|
4938
|
+
}
|
|
4939
|
+
};
|
|
4940
|
+
}
|
|
3924
4941
|
if (args.matchId) {
|
|
3925
4942
|
const { match, degraded: degraded2, source: source2 } = await getMatchById(resolveAdapter(args), args.matchId);
|
|
3926
4943
|
const matches = match ? [match] : [];
|
|
@@ -3988,11 +5005,11 @@ async function toolGetShareSnippet(args) {
|
|
|
3988
5005
|
|
|
3989
5006
|
// src/server.ts
|
|
3990
5007
|
var SERVER_NAME = "claudinho";
|
|
3991
|
-
var SERVER_VERSION = "0.
|
|
5008
|
+
var SERVER_VERSION = "0.8.0";
|
|
3992
5009
|
var VOICE = asFlavorLevel(process.env.CLAUDINHO_FLAVOR) === "off" ? "" : `
|
|
3993
5010
|
Voice: when relaying scores, narrate with lively, regionally-appropriate football-commentary energy in the user's language. Each match line may end with a short exclamation ("\u2014 \xA1GOOOOL!") \u2014 use it as a tone cue. Keep every fact exact; never invent details and never impersonate or name a real commentator.`;
|
|
3994
5011
|
var INSTRUCTIONS = `Claudinho serves live scores, fixtures, and group standings for the 2026 men's football tournament.
|
|
3995
|
-
Use get_live during matches, get_today for a day's schedule, get_next_fixture for a specific team (3-letter code, e.g. MEX),
|
|
5012
|
+
Use get_live during matches, get_today for a day's schedule, get_next_fixture for a specific team (3-letter code, e.g. MEX), get_standings for group tables, and get_bracket for the knockout tree.
|
|
3996
5013
|
Use get_market_signal for read-only prediction-market signals (a match, a team's current-or-next fixture, or a date). Market data is informational only \u2014 relay the percentages factually and never frame it as betting or trading advice.
|
|
3997
5014
|
Use get_share_snippet to produce a ready-to-paste match card (for a match, a team's next fixture, a date, or live matches) \u2014 hand the user the returned snippet text verbatim.${VOICE}
|
|
3998
5015
|
${DISCLAIMER}`;
|
|
@@ -4065,6 +5082,19 @@ function buildServer() {
|
|
|
4065
5082
|
},
|
|
4066
5083
|
async (args) => toContent(await toolGetStandings(args))
|
|
4067
5084
|
);
|
|
5085
|
+
server.registerTool(
|
|
5086
|
+
"get_bracket",
|
|
5087
|
+
{
|
|
5088
|
+
title: "Knockout bracket",
|
|
5089
|
+
description: "Knockout bracket from the Round of 32 through the final, with live scores overlaid. Group slots project only when a group is fully played; winner slots need a confirmed FT result. Pass an optional stage (R32, R16, QF, SF, 3P, F) to filter one round. Falls back to structure-only when live data is unavailable.",
|
|
5090
|
+
inputSchema: {
|
|
5091
|
+
stage: z.enum(["R32", "R16", "QF", "SF", "3P", "F"]).optional().describe("Knockout round to show (omit for the full bracket)"),
|
|
5092
|
+
...commonArgs
|
|
5093
|
+
},
|
|
5094
|
+
annotations: { readOnlyHint: true, openWorldHint: true }
|
|
5095
|
+
},
|
|
5096
|
+
async (args) => toContent(await toolGetBracket(args))
|
|
5097
|
+
);
|
|
4068
5098
|
server.registerTool(
|
|
4069
5099
|
"get_next_fixture",
|
|
4070
5100
|
{
|
|
@@ -4098,11 +5128,13 @@ function buildServer() {
|
|
|
4098
5128
|
"get_share_snippet",
|
|
4099
5129
|
{
|
|
4100
5130
|
title: "Shareable match snippet",
|
|
4101
|
-
description: `A polished, copy-pasteable card (plain text) for a match (matchId), a team's next fixture (team), a group's standings table (group, e.g. "A"), a date (default: today), or live matches (live: true). Returns the ready-to-paste snippet plus structured data \u2014 hand the snippet text to the user verbatim. No links; it carries a non-affiliation disclaimer, and any market line stays informational only.`,
|
|
5131
|
+
description: `A polished, copy-pasteable card (plain text) for a match (matchId), a team's next fixture (team), a group's standings table (group, e.g. "A"), the knockout bracket (bracket: true), a date (default: today), or live matches (live: true). Returns the ready-to-paste snippet plus structured data \u2014 hand the snippet text to the user verbatim. No links; it carries a non-affiliation disclaimer, and any market line stays informational only.`,
|
|
4102
5132
|
inputSchema: {
|
|
4103
5133
|
matchId: z.string().optional().describe("Match id (most specific)"),
|
|
4104
5134
|
team: teamArg.optional().describe("3-letter team code for that team's next fixture, e.g. MEX"),
|
|
4105
5135
|
group: groupArg.optional().describe("Group letter A\u2013L for a standings card, e.g. A"),
|
|
5136
|
+
bracket: z.boolean().optional().describe("Knockout bracket card (use with optional knockoutStage)"),
|
|
5137
|
+
knockoutStage: z.enum(["R32", "R16", "QF", "SF", "3P", "F"]).optional().describe("Filter the bracket card to one round"),
|
|
4106
5138
|
date: dateArg.optional().describe("Date as YYYY-MM-DD (default: today)"),
|
|
4107
5139
|
live: z.boolean().optional().describe("Snapshot of matches in play right now"),
|
|
4108
5140
|
style: z.enum(["social", "compact"]).optional().describe("social (default, full card) or compact (one line per match)"),
|