From 7acb1375d4b14ee334706b1f6686edbac7a0bdc4 Mon Sep 17 00:00:00 2001 From: salam Date: Tue, 24 Feb 2026 17:27:47 +0100 Subject: [PATCH] fix flags --- app/Console/Commands/Grapper/TxOdds.php | 4 + .../Commands/Grapper/TxOdds/Countries.php | 11 +- .../Supervisors/Tables/SupervisorsTable.php | 1 + app/Livewire/Mapper/LoadEvents.php | 2 + .../{LoadProvider.php => LoadMapper.php} | 3 +- app/Livewire/MapperRight.php | 12 +- app/Models/Country.php | 1 + app/Models/Event.php | 2 +- app/Models/Mapper.php | 5 + database/seeders/SupervisorSeeder.php | 3 +- textfiles/betsapi_countries.json | 1005 +++++++++++++++++ 11 files changed, 1035 insertions(+), 14 deletions(-) rename app/Livewire/Mapper/{LoadProvider.php => LoadMapper.php} (94%) create mode 100644 textfiles/betsapi_countries.json diff --git a/app/Console/Commands/Grapper/TxOdds.php b/app/Console/Commands/Grapper/TxOdds.php index 20736ea1..bbab3311 100644 --- a/app/Console/Commands/Grapper/TxOdds.php +++ b/app/Console/Commands/Grapper/TxOdds.php @@ -2,6 +2,7 @@ namespace App\Console\Commands\Grapper; +use App\Console\Commands\Grapper\TxOdds\Countries; use App\Console\Commands\Grapper\TxOdds\Fixtures; use App\Console\Commands\Grapper\TxOdds\Odds; use App\Console\Commands\Nuh; @@ -14,6 +15,9 @@ class TxOdds case 'Fixtures': Fixtures::grap(); break; + case 'Countries': + Countries::grap(); + break; default: Odds::grap(); break; diff --git a/app/Console/Commands/Grapper/TxOdds/Countries.php b/app/Console/Commands/Grapper/TxOdds/Countries.php index ebbfed43..6fc83632 100644 --- a/app/Console/Commands/Grapper/TxOdds/Countries.php +++ b/app/Console/Commands/Grapper/TxOdds/Countries.php @@ -2,25 +2,20 @@ namespace App\Console\Commands\Grapper\TxOdds; -use App\Console\Commands\Curl; use App\Console\Commands\Nuh; +use App\Console\Commands\Xml; use App\Models\Country; use App\Utilities\Notice; class Countries { - public static function call() + public static function grap() { $debug = Nuh::$options['d'] ?? 0; - $print = Nuh::$options['p'] ?? 0; $url = 'https://xml2.txodds.com/feed/countries.php'; - $data = Curl::load($url, $debug); - - if ($print) { - Notice::note($data, '', 1); - } + $data = Xml::load($url); $count = 0; foreach ($data as $row) { diff --git a/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php b/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php index 7cf7ceec..e269674c 100644 --- a/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php +++ b/app/Filament/Resources/Supervisors/Tables/SupervisorsTable.php @@ -59,6 +59,7 @@ class SupervisorsTable return [ 'Fixtures' => 'Fixtures', 'Odds' => 'Odds', + 'Countries' => 'Countries', ]; case 2: return [ diff --git a/app/Livewire/Mapper/LoadEvents.php b/app/Livewire/Mapper/LoadEvents.php index c6bb3195..33ebf215 100644 --- a/app/Livewire/Mapper/LoadEvents.php +++ b/app/Livewire/Mapper/LoadEvents.php @@ -27,6 +27,7 @@ class LoadEvents $query = Event::query() ->with('home') ->with('away') + ->where('has_markets', 1) ->where('sport_id', auth()->user()->sport_id) ->where(function ($query) use ($element_ids) { $query->orWhereIn('home_id', $element_ids)->orWhereIn('away_id', $element_ids); @@ -35,6 +36,7 @@ class LoadEvents $query = Event::query() ->with('home') ->with('away') + ->where('has_markets', 1) ->where('sport_id', auth()->user()->sport_id); } diff --git a/app/Livewire/Mapper/LoadProvider.php b/app/Livewire/Mapper/LoadMapper.php similarity index 94% rename from app/Livewire/Mapper/LoadProvider.php rename to app/Livewire/Mapper/LoadMapper.php index 7f4f8a25..fe1a3b09 100644 --- a/app/Livewire/Mapper/LoadProvider.php +++ b/app/Livewire/Mapper/LoadMapper.php @@ -5,7 +5,7 @@ namespace App\Livewire\Mapper; use App\Models\Event; use App\Models\Mapper; -class LoadProvider +class LoadMapper { public static function load($search_values) { @@ -30,6 +30,7 @@ class LoadProvider } else { return Mapper::query() + ->with('country_magloo') ->where('sport_id', auth()->user()->sport_id) ->where('provider_id', auth()->user()->provider_id); } diff --git a/app/Livewire/MapperRight.php b/app/Livewire/MapperRight.php index 95534d90..163a5a96 100644 --- a/app/Livewire/MapperRight.php +++ b/app/Livewire/MapperRight.php @@ -3,7 +3,7 @@ namespace App\Livewire; use App\Filament\Tables\Columns\MapperRightColumn; -use App\Livewire\Mapper\LoadProvider; +use App\Livewire\Mapper\LoadMapper; use App\Livewire\Mapper\SearchString; use App\Livewire\Mapper\StoreMapped; use App\Models\Country; @@ -65,7 +65,7 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable public function table(Table $table): Table { return $table - ->query(LoadProvider::load($this->search_values)) + ->query(LoadMapper::load($this->search_values)) ->striped() ->columns([ MapperRightColumn::make('left')->label('Event')->alignCenter(), @@ -84,7 +84,13 @@ class MapperRight extends Component implements HasActions, HasSchemas, HasTable $this->dispatch('refreshMapperRight'); } }), - IconColumn::make('group_cc')->icon(fn (string $state): string => 'flag-country-'.$state)->label(''), + IconColumn::make('country_magloo.icon') + ->label('') + ->icon(fn (string $state): string => $state) + ->visible(fn () => in_array(auth()->user()->provider_id, [3, 4])), + IconColumn::make('group_cc') + ->visible(fn () => auth()->user()->provider_id == 2) + ->icon(fn (string $state): string => 'flag-country-'.$state)->label(''), IconColumn::make('sport.icon') ->label('') ->icon(fn ($record) => $record->sport->icon) diff --git a/app/Models/Country.php b/app/Models/Country.php index 430102e0..37889b9b 100644 --- a/app/Models/Country.php +++ b/app/Models/Country.php @@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Model; class Country extends Model { protected $fillable = [ + 'id', 'name', 'icon', 'iso2', diff --git a/app/Models/Event.php b/app/Models/Event.php index 1e192a21..c964c807 100644 --- a/app/Models/Event.php +++ b/app/Models/Event.php @@ -40,7 +40,7 @@ class Event extends Model public function country() { - return $this->belongsTo(Country::class)->where('disabled', 0)->where('is_country', 1); + return $this->belongsTo(Country::class)->where('disabled', 0); } public function group() diff --git a/app/Models/Mapper.php b/app/Models/Mapper.php index 27b53540..d9e4e9e2 100644 --- a/app/Models/Mapper.php +++ b/app/Models/Mapper.php @@ -32,6 +32,11 @@ class Mapper extends Model return $this->belongsTo(Country::class, 'group_cc', 'iso2')->where('is_country', 1)->where('disabled', 0); } + public function country_magloo() + { + return $this->belongsTo(Country::class, 'country', 'name'); + } + public function provider() { return $this->belongsTo(Provider::class); diff --git a/database/seeders/SupervisorSeeder.php b/database/seeders/SupervisorSeeder.php index 597f6f62..36c4553d 100644 --- a/database/seeders/SupervisorSeeder.php +++ b/database/seeders/SupervisorSeeder.php @@ -71,7 +71,8 @@ class SupervisorSeeder extends Seeder (56, 'Notify Alarms', 7, NULL, NULL, 30, 0, NULL, NULL, 30, 0, 0, 0, 0, 10, 10, '2026-01-27 11:25:56', '2026-01-27 11:26:05'), (57, 'Bet365', 2, 3, NULL, 30, 0, '0.795', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-19 12:47:50', '2026-02-24 14:33:22'), (58, 'Bet365', 2, 5, NULL, 30, 0, '1.665', NULL, 30, 0, 0, 1, 1, 10, 10, '2026-02-19 12:48:06', '2026-02-24 14:33:00'), - (59, 'Bet365', 11, NULL, NULL, 60, 0, '1.531', NULL, 30, 0, 0, 1, 1, 0, 10, '2026-02-19 13:31:24', '2026-02-24 14:33:26'); + (59, 'Bet365', 11, NULL, NULL, 60, 0, '1.531', NULL, 30, 0, 0, 1, 1, 0, 10, '2026-02-19 13:31:24', '2026-02-24 14:33:26'), + (60, 'Countries', 1, NULL, NULL, 30, 0, '0.008', NULL, 30, 0, 0, 0, 0, 10, 10, '2026-02-24 17:13:21', '2026-02-24 17:18:35'); "; DB::unprepared($sql); } diff --git a/textfiles/betsapi_countries.json b/textfiles/betsapi_countries.json new file mode 100644 index 00000000..9402e24d --- /dev/null +++ b/textfiles/betsapi_countries.json @@ -0,0 +1,1005 @@ +{ + "success": 1, + "results": [ + { + "cc": "ad", + "name": "Andorra" + }, + { + "cc": "ae", + "name": "United Arab Emirates" + }, + { + "cc": "af", + "name": "Afghanistan" + }, + { + "cc": "ag", + "name": "Antigua and Barbuda" + }, + { + "cc": "ai", + "name": "Anguilla" + }, + { + "cc": "al", + "name": "Albania" + }, + { + "cc": "am", + "name": "Armenia" + }, + { + "cc": "ao", + "name": "Angola" + }, + { + "cc": "aq", + "name": "Antarctica" + }, + { + "cc": "ar", + "name": "Argentina" + }, + { + "cc": "as", + "name": "American Samoa" + }, + { + "cc": "at", + "name": "Austria" + }, + { + "cc": "au", + "name": "Australia" + }, + { + "cc": "aw", + "name": "Aruba" + }, + { + "cc": "ax", + "name": "\u00c5land Islands" + }, + { + "cc": "az", + "name": "Azerbaijan" + }, + { + "cc": "ba", + "name": "Bosnia & Herzegovina" + }, + { + "cc": "bb", + "name": "Barbados" + }, + { + "cc": "bd", + "name": "Bangladesh" + }, + { + "cc": "be", + "name": "Belgium" + }, + { + "cc": "bf", + "name": "Burkina Faso" + }, + { + "cc": "bg", + "name": "Bulgaria" + }, + { + "cc": "bh", + "name": "Bahrain" + }, + { + "cc": "bi", + "name": "Burundi" + }, + { + "cc": "bj", + "name": "Benin" + }, + { + "cc": "bl", + "name": "Saint Barth\u00e9lemy" + }, + { + "cc": "bm", + "name": "Bermuda" + }, + { + "cc": "bn", + "name": "Brunei" + }, + { + "cc": "bo", + "name": "Bolivia" + }, + { + "cc": "bq", + "name": "Caribbean Netherlands" + }, + { + "cc": "br", + "name": "Brazil" + }, + { + "cc": "bs", + "name": "Bahamas" + }, + { + "cc": "bt", + "name": "Bhutan" + }, + { + "cc": "bv", + "name": "Bouvet Island" + }, + { + "cc": "bw", + "name": "Botswana" + }, + { + "cc": "by", + "name": "Belarus" + }, + { + "cc": "bz", + "name": "Belize" + }, + { + "cc": "ca", + "name": "Canada" + }, + { + "cc": "cc", + "name": "Cocos (Keeling) Islands" + }, + { + "cc": "cd", + "name": "Congo - Kinshasa" + }, + { + "cc": "cf", + "name": "Central African Republic" + }, + { + "cc": "cg", + "name": "Congo - Brazzaville" + }, + { + "cc": "ch", + "name": "Switzerland" + }, + { + "cc": "ci", + "name": "C\u00f4te d\u2019Ivoire" + }, + { + "cc": "ck", + "name": "Cook Islands" + }, + { + "cc": "cl", + "name": "Chile" + }, + { + "cc": "cm", + "name": "Cameroon" + }, + { + "cc": "cn", + "name": "China" + }, + { + "cc": "co", + "name": "Colombia" + }, + { + "cc": "cr", + "name": "Costa Rica" + }, + { + "cc": "cu", + "name": "Cuba" + }, + { + "cc": "cv", + "name": "Cape Verde" + }, + { + "cc": "cw", + "name": "Cura\u00e7ao" + }, + { + "cc": "cx", + "name": "Christmas Island" + }, + { + "cc": "cy", + "name": "Cyprus" + }, + { + "cc": "cz", + "name": "Czech Republic" + }, + { + "cc": "de", + "name": "Germany" + }, + { + "cc": "dj", + "name": "Djibouti" + }, + { + "cc": "dk", + "name": "Denmark" + }, + { + "cc": "dm", + "name": "Dominica" + }, + { + "cc": "do", + "name": "Dominican Republic" + }, + { + "cc": "dz", + "name": "Algeria" + }, + { + "cc": "ec", + "name": "Ecuador" + }, + { + "cc": "ee", + "name": "Estonia" + }, + { + "cc": "eg", + "name": "Egypt" + }, + { + "cc": "eh", + "name": "Western Sahara" + }, + { + "cc": "er", + "name": "Eritrea" + }, + { + "cc": "es", + "name": "Spain" + }, + { + "cc": "et", + "name": "Ethiopia" + }, + { + "cc": "fi", + "name": "Finland" + }, + { + "cc": "fj", + "name": "Fiji" + }, + { + "cc": "fk", + "name": "Falkland Islands" + }, + { + "cc": "fm", + "name": "Micronesia" + }, + { + "cc": "fo", + "name": "Faroe Islands" + }, + { + "cc": "fr", + "name": "France" + }, + { + "cc": "ga", + "name": "Gabon" + }, + { + "cc": "gb", + "name": "Great Britain" + }, + { + "cc": "gd", + "name": "Grenada" + }, + { + "cc": "ge", + "name": "Georgia" + }, + { + "cc": "gf", + "name": "French Guiana" + }, + { + "cc": "gg", + "name": "Guernsey" + }, + { + "cc": "gh", + "name": "Ghana" + }, + { + "cc": "gi", + "name": "Gibraltar" + }, + { + "cc": "gl", + "name": "Greenland" + }, + { + "cc": "gm", + "name": "Gambia" + }, + { + "cc": "gn", + "name": "Guinea" + }, + { + "cc": "gp", + "name": "Guadeloupe" + }, + { + "cc": "gq", + "name": "Equatorial Guinea" + }, + { + "cc": "gr", + "name": "Greece" + }, + { + "cc": "gs", + "name": "South Georgia & South Sandwich Islands" + }, + { + "cc": "gt", + "name": "Guatemala" + }, + { + "cc": "gu", + "name": "Guam" + }, + { + "cc": "gw", + "name": "Guinea-Bissau" + }, + { + "cc": "gy", + "name": "Guyana" + }, + { + "cc": "hk", + "name": "Hong Kong SAR China" + }, + { + "cc": "hm", + "name": "Heard & McDonald Islands" + }, + { + "cc": "hn", + "name": "Honduras" + }, + { + "cc": "hr", + "name": "Croatia" + }, + { + "cc": "ht", + "name": "Haiti" + }, + { + "cc": "hu", + "name": "Hungary" + }, + { + "cc": "id", + "name": "Indonesia" + }, + { + "cc": "ie", + "name": "Ireland" + }, + { + "cc": "il", + "name": "Israel" + }, + { + "cc": "im", + "name": "Isle of Man" + }, + { + "cc": "in", + "name": "India" + }, + { + "cc": "io", + "name": "British Indian Ocean Territory" + }, + { + "cc": "iq", + "name": "Iraq" + }, + { + "cc": "ir", + "name": "Iran" + }, + { + "cc": "is", + "name": "Iceland" + }, + { + "cc": "it", + "name": "Italy" + }, + { + "cc": "je", + "name": "Jersey" + }, + { + "cc": "jm", + "name": "Jamaica" + }, + { + "cc": "jo", + "name": "Jordan" + }, + { + "cc": "jp", + "name": "Japan" + }, + { + "cc": "ke", + "name": "Kenya" + }, + { + "cc": "kg", + "name": "Kyrgyzstan" + }, + { + "cc": "kh", + "name": "Cambodia" + }, + { + "cc": "ki", + "name": "Kiribati" + }, + { + "cc": "km", + "name": "Comoros" + }, + { + "cc": "kn", + "name": "Saint Kitts and Nevis" + }, + { + "cc": "kp", + "name": "North Korea" + }, + { + "cc": "kr", + "name": "South Korea" + }, + { + "cc": "kw", + "name": "Kuwait" + }, + { + "cc": "ky", + "name": "Cayman Islands" + }, + { + "cc": "kz", + "name": "Kazakhstan" + }, + { + "cc": "la", + "name": "Laos" + }, + { + "cc": "lb", + "name": "Lebanon" + }, + { + "cc": "lc", + "name": "Saint Lucia" + }, + { + "cc": "li", + "name": "Liechtenstein" + }, + { + "cc": "lk", + "name": "Sri Lanka" + }, + { + "cc": "lr", + "name": "Liberia" + }, + { + "cc": "ls", + "name": "Lesotho" + }, + { + "cc": "lt", + "name": "Lithuania" + }, + { + "cc": "lu", + "name": "Luxembourg" + }, + { + "cc": "lv", + "name": "Latvia" + }, + { + "cc": "ly", + "name": "Libya" + }, + { + "cc": "ma", + "name": "Morocco" + }, + { + "cc": "mc", + "name": "Monaco" + }, + { + "cc": "md", + "name": "Moldova" + }, + { + "cc": "me", + "name": "Montenegro" + }, + { + "cc": "mf", + "name": "Saint Martin" + }, + { + "cc": "mg", + "name": "Madagascar" + }, + { + "cc": "mh", + "name": "Marshall Islands" + }, + { + "cc": "mk", + "name": "Macedonia" + }, + { + "cc": "ml", + "name": "Mali" + }, + { + "cc": "mm", + "name": "Myanmar (Burma)" + }, + { + "cc": "mn", + "name": "Mongolia" + }, + { + "cc": "mo", + "name": "Macau SAR China" + }, + { + "cc": "mp", + "name": "Northern Mariana Islands" + }, + { + "cc": "mq", + "name": "Martinique" + }, + { + "cc": "mr", + "name": "Mauritania" + }, + { + "cc": "ms", + "name": "Montserrat" + }, + { + "cc": "mt", + "name": "Malta" + }, + { + "cc": "mu", + "name": "Mauritius" + }, + { + "cc": "mv", + "name": "Maldives" + }, + { + "cc": "mw", + "name": "Malawi" + }, + { + "cc": "mx", + "name": "Mexico" + }, + { + "cc": "my", + "name": "Malaysia" + }, + { + "cc": "mz", + "name": "Mozambique" + }, + { + "cc": "na", + "name": "Namibia" + }, + { + "cc": "nc", + "name": "New Caledonia" + }, + { + "cc": "ne", + "name": "Niger" + }, + { + "cc": "nf", + "name": "Norfolk Island" + }, + { + "cc": "ng", + "name": "Nigeria" + }, + { + "cc": "ni", + "name": "Nicaragua" + }, + { + "cc": "nl", + "name": "Netherlands" + }, + { + "cc": "no", + "name": "Norway" + }, + { + "cc": "np", + "name": "Nepal" + }, + { + "cc": "nr", + "name": "Nauru" + }, + { + "cc": "nu", + "name": "Niue" + }, + { + "cc": "nz", + "name": "New Zealand" + }, + { + "cc": "om", + "name": "Oman" + }, + { + "cc": "pa", + "name": "Panama" + }, + { + "cc": "pe", + "name": "Peru" + }, + { + "cc": "pf", + "name": "French Polynesia" + }, + { + "cc": "pg", + "name": "Papua New Guinea" + }, + { + "cc": "ph", + "name": "Philippines" + }, + { + "cc": "pk", + "name": "Pakistan" + }, + { + "cc": "pl", + "name": "Poland" + }, + { + "cc": "pm", + "name": "Saint Pierre and Miquelon" + }, + { + "cc": "pn", + "name": "Pitcairn Islands" + }, + { + "cc": "pr", + "name": "Puerto Rico" + }, + { + "cc": "ps", + "name": "Palestinian Territories" + }, + { + "cc": "pt", + "name": "Portugal" + }, + { + "cc": "pw", + "name": "Palau" + }, + { + "cc": "py", + "name": "Paraguay" + }, + { + "cc": "qa", + "name": "Qatar" + }, + { + "cc": "re", + "name": "R\u00e9union" + }, + { + "cc": "ro", + "name": "Romania" + }, + { + "cc": "rs", + "name": "Serbia" + }, + { + "cc": "ru", + "name": "Russia" + }, + { + "cc": "rw", + "name": "Rwanda" + }, + { + "cc": "sa", + "name": "Saudi Arabia" + }, + { + "cc": "sb", + "name": "Solomon Islands" + }, + { + "cc": "sc", + "name": "Seychelles" + }, + { + "cc": "sd", + "name": "Sudan" + }, + { + "cc": "se", + "name": "Sweden" + }, + { + "cc": "sg", + "name": "Singapore" + }, + { + "cc": "sh", + "name": "Saint Helena" + }, + { + "cc": "si", + "name": "Slovenia" + }, + { + "cc": "sj", + "name": "Svalbard and Jan Mayen" + }, + { + "cc": "sk", + "name": "Slovakia" + }, + { + "cc": "sl", + "name": "Sierra Leone" + }, + { + "cc": "sm", + "name": "San Marino" + }, + { + "cc": "sn", + "name": "Senegal" + }, + { + "cc": "so", + "name": "Somalia" + }, + { + "cc": "sr", + "name": "Suriname" + }, + { + "cc": "ss", + "name": "South Sudan" + }, + { + "cc": "st", + "name": "S\u00e3o Tom\u00e9 and Pr\u00edncipe" + }, + { + "cc": "sv", + "name": "El Salvador" + }, + { + "cc": "sx", + "name": "Sint Maarten" + }, + { + "cc": "sy", + "name": "Syria" + }, + { + "cc": "sz", + "name": "Swaziland" + }, + { + "cc": "tc", + "name": "Turks and Caicos Islands" + }, + { + "cc": "td", + "name": "Chad" + }, + { + "cc": "tf", + "name": "French Southern Territories" + }, + { + "cc": "tg", + "name": "Togo" + }, + { + "cc": "th", + "name": "Thailand" + }, + { + "cc": "tj", + "name": "Tajikistan" + }, + { + "cc": "tk", + "name": "Tokelau" + }, + { + "cc": "tl", + "name": "Timor-Leste" + }, + { + "cc": "tm", + "name": "Turkmenistan" + }, + { + "cc": "tn", + "name": "Tunisia" + }, + { + "cc": "to", + "name": "Tonga" + }, + { + "cc": "tr", + "name": "Turkey" + }, + { + "cc": "tt", + "name": "Trinidad and Tobago" + }, + { + "cc": "tv", + "name": "Tuvalu" + }, + { + "cc": "tw", + "name": "Taiwan" + }, + { + "cc": "tz", + "name": "Tanzania" + }, + { + "cc": "ua", + "name": "Ukraine" + }, + { + "cc": "ug", + "name": "Uganda" + }, + { + "cc": "um", + "name": "U.S. Outlying Islands" + }, + { + "cc": "us", + "name": "USA" + }, + { + "cc": "uy", + "name": "Uruguay" + }, + { + "cc": "uz", + "name": "Uzbekistan" + }, + { + "cc": "va", + "name": "Vatican City" + }, + { + "cc": "vc", + "name": "St. Vincent & Grenadines" + }, + { + "cc": "ve", + "name": "Venezuela" + }, + { + "cc": "vg", + "name": "British Virgin Islands" + }, + { + "cc": "vi", + "name": "U.S. Virgin Islands" + }, + { + "cc": "vn", + "name": "Vietnam" + }, + { + "cc": "vu", + "name": "Vanuatu" + }, + { + "cc": "wf", + "name": "Wallis and Futuna" + }, + { + "cc": "ws", + "name": "Samoa" + }, + { + "cc": "xk", + "name": "Kosovo" + }, + { + "cc": "ye", + "name": "Yemen" + }, + { + "cc": "yt", + "name": "Mayotte" + }, + { + "cc": "za", + "name": "South Africa" + }, + { + "cc": "zm", + "name": "Zambia" + }, + { + "cc": "zw", + "name": "Zimbabwe" + } + ] +} \ No newline at end of file