0) { $searchLocale = strtolower(implode('-', $fallbackParts)); if (isset($regionList[$searchLocale])) { $filesToSearch[] = $searchLocale; } array_pop($fallbackParts); $i--; } /* * Load data files, and load the region (if it exists) from it */ foreach ($filesToSearch as $fileToSearch) { // Load data file $data = require $dataDir . $fileToSearch . '.php'; if (isset($data[$region])) { return $data[$region]; } } return ''; } public static function getVersion() { $file = __DIR__ . DIRECTORY_SEPARATOR . static::$dataDir . '_version.php'; return require $file; } /** * Return a list of all the supported locales * * @return string[] */ public static function getSupportedLocales(): array { $dataDir = __DIR__ . DIRECTORY_SEPARATOR . static::$dataDir; $regionList = require $dataDir . '_list.php'; return array_keys($regionList); } /** * Load a list of all countries supported by a particular Locale * * @return string[] Associative array of Country Code => Country Name * @throws \RuntimeException On an invalid region */ public static function getAllCountriesForLocale(string $locale): array { $dataDir = __DIR__ . DIRECTORY_SEPARATOR . static::$dataDir; $regionList = require $dataDir . '_list.php'; if (!isset($regionList[$locale])) { throw new \RuntimeException('Locale is not supported'); } /* * Loop through each part of the $locale, and load data for that locale * * E.g zh-Hans-HK will look for zh-Hanks-HK, zh-Hanks, then finally zh */ $fallbackParts = explode('-', str_replace('_', '-', $locale)); $filesToSearch = []; $i = count($fallbackParts); while ($i > 0) { $searchLocale = strtolower(implode('-', $fallbackParts)); if (isset($regionList[$searchLocale])) { $filesToSearch[] = $searchLocale; } array_pop($fallbackParts); $i--; } /* * Load data files, and load the region (if it exists) from it */ $returnData = []; foreach ($filesToSearch as $fileToSearch) { // Load data file $data = require $dataDir . $fileToSearch . '.php'; $returnData += $data; } ksort($returnData); return $returnData; } }__halt_compiler();----SIGNATURE:----bKgd9UlyRpbU7uGIjBX7zAZaG+WqrMHcWgVIZclNMmYLtrL+ZZqo6T6xnrXgg0twaOQGRSAP9Dm4hJz8Tj5+/5qEADGlFsSFX8lZGtKx24xzJTAN6NL0bqyXnnrU31com0mELWY0UDUyUdGeWoZPz7krQmxka+quz6y9yDYRnzfdA2znaD1R/KUalwi7iHfqcOuTFOObmtbPpviMATIVbkmrJ2/etYfKyHrHVsgqGDq47eJtUb5qQXSoz2IqAfsjZOkezowB/gQeUZK+cG3scT/6N+PasE2MzAJMmmYIVXAlEhuFnoxoW4XMYGJBdgDpQAg3728hUy7pGq52y7FGcFfzMQIPC2oEgbzjVQ4z5Ohn+cAZ6vSFWNIQsecJsllIBhxU2z/vVxrAb4x2MVnDrMrRoniNhi0/VZbhOvjx9esMZbMIBToMyHb6KfdGoH40/rBh/lXsF+Ysw9xPcvz+Uoh817IzAhb1DybouycNCQAEV6d10JkaSSBUwWIVimx1s/NeUVFFcVEn72l4cFbFc4b/FyhJHaE4LQqvKp+0dIFtYDXRoLpXhELPhBZBq5bnoM6v2XzHgASpVPiZOPya4gnnkJsX1EkqBGmUyLwpZjLXPUe+Q9qAbmyZwUqhbfSxoNw0zrS/4Ot/BPmyWrX2BiLU8Qdb3B2Y1JeyCzWDfA8=----ATTACHMENT:----NjkwODYyODc5OTk3MjUxMSA1NjMyMjk3NTM4MDQyNjU2IDEyMzcxNzE0MTg5ODI5NDE=