Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Giehl <stefan@piwik.org>2018-05-04 08:15:12 +0300
committerMatthieu Aubry <mattab@users.noreply.github.com>2018-05-04 08:15:12 +0300
commit18ad4f7f04d01b90fb9fc1d623585b5033092ed8 (patch)
tree256d6b3628c3d39b7d911f35698636d331194109 /plugins/GeoIp2/data
parent453e3fbdabbf8c72264a3e15e2650cfad99b06b2 (diff)
GeoIP2 implementation as a plugin (#12699)
* require geoip2/geoip2 composer package * Determine region name based on Location Provider * Adds empty GeoIp2 plugin * move location_region column definition to GeoIp2 plugin so it's get changed as soon as the plugin is activated * Adds GeoIP2 location providers * ignore GeoIP2 mmdb files * Adds script to generate GeoIP2 test databases * Adds Command to convert region codes from FIPS to ISO for old log table records * Adds GeoIP2 AutoUpdater * Use GeoIP2 in tests * update test files * code fixes * adds tests * rename old GeoIP providers to Legacy * Let GeoIP autoupdater UI handle GeoIp2 as well * convert region codes to ISO in API after switch to GeoIP2 * do not show GeoIP providers if GeoIP2 plugin is enabled an no GeoIP Legacy provider is still in use * small fixes * review changes * Use correct region translations * Show correct message if no database can be found * if log tables have been converted, use archive date to check if region codes still need to be converted to iso * fix tests * Improves extracting GeoIP2 databases * Adjust GeoLocation diagnostics * readds old taiwan fixes * Assume all third party location providers as 'recommended' * Download database over HTTPS * remove outdated comment (see https://github.com/matomo-org/matomo/issues/12411) * Remove indication that Geoip2 may be slow, since we found it should be quite fast and this should not be an issue in theory * skip detection if IP is empty & do not try convert IP to IPv4 * remove downloaded file if an error occurs while extracting * command should be runnable multiple times * use ISO codes for suggested region codes * reload after wizard success * Drop table if exists. * Fix two translation keys. * add special region handling for UK * update system test * update UI files * submodule update * update test files
Diffstat (limited to 'plugins/GeoIp2/data')
-rw-r--r--plugins/GeoIp2/data/isoRegionNames.php5476
-rw-r--r--plugins/GeoIp2/data/regionMapping.php4635
2 files changed, 10111 insertions, 0 deletions
diff --git a/plugins/GeoIp2/data/isoRegionNames.php b/plugins/GeoIp2/data/isoRegionNames.php
new file mode 100644
index 0000000000..f29350ad4f
--- /dev/null
+++ b/plugins/GeoIp2/data/isoRegionNames.php
@@ -0,0 +1,5476 @@
+<?php
+// Generated file containing all ISO region codes and names
+return array (
+ 'AD' =>
+ array (
+ '02' => 'Canillo',
+ '03' => 'Encamp',
+ '04' => 'La Massana',
+ '05' => 'Ordino',
+ '06' => 'Sant Julià de Lòria',
+ '07' => 'Andorra la Vella',
+ '08' => 'Escaldes-Engordany',
+ ),
+ 'AE' =>
+ array (
+ 'AJ' => '\'Ajmān',
+ 'AZ' => 'Abū Ȥaby [Abu Dhabi]',
+ 'DU' => 'Dubayy',
+ 'FU' => 'Al Fujayrah',
+ 'RK' => 'Ra’s al Khaymah',
+ 'SH' => 'Ash Shāriqah',
+ 'UQ' => 'Umm al Qaywayn',
+ ),
+ 'AF' =>
+ array (
+ 'BAL' => 'Balkh',
+ 'BAM' => 'Bāmyān',
+ 'BDG' => 'Bādghīs',
+ 'BDS' => 'Badakhshān',
+ 'BGL' => 'Baghlān',
+ 'DAY' => 'Dāykundī',
+ 'FRA' => 'Farāh',
+ 'FYB' => 'Fāryāb',
+ 'GHA' => 'Ghaznī',
+ 'GHO' => 'Ghōr',
+ 'HEL' => 'Helmand',
+ 'HER' => 'Herāt',
+ 'JOW' => 'Jowzjān',
+ 'KAB' => 'Kābul',
+ 'KAN' => 'Kandahār',
+ 'KAP' => 'Kāpīsā',
+ 'KDZ' => 'Kunduz',
+ 'KHO' => 'Khōst',
+ 'KNR' => 'Kunar',
+ 'LAG' => 'Laghmān',
+ 'LOG' => 'Lōgar',
+ 'NAN' => 'Nangarhār',
+ 'NIM' => 'Nīmrōz',
+ 'NUR' => 'Nūristān',
+ 'PAN' => 'Panjshayr',
+ 'PAR' => 'Parwān',
+ 'PIA' => 'Paktiyā',
+ 'PKA' => 'Paktīkā',
+ 'SAM' => 'Samangān',
+ 'SAR' => 'Sar-e Pul',
+ 'TAK' => 'Takhār',
+ 'URU' => 'Uruzgān',
+ 'WAR' => 'Wardak',
+ 'ZAB' => 'Zābul',
+ ),
+ 'AG' =>
+ array (
+ '03' => 'Saint George',
+ '04' => 'Saint John',
+ '05' => 'Saint Mary',
+ '06' => 'Saint Paul',
+ '07' => 'Saint Peter',
+ '08' => 'Saint Philip',
+ 10 => 'Barbuda',
+ 11 => 'Redonda',
+ ),
+ 'AL' =>
+ array (
+ '01' => 'Berat',
+ '02' => 'Durrës',
+ '03' => 'Elbasan',
+ '04' => 'Fier',
+ '05' => 'Gjirokastër',
+ '06' => 'Korçë',
+ '07' => 'Kukës',
+ '08' => 'Lezhë',
+ '09' => 'Dibër',
+ 10 => 'Shkodër',
+ 11 => 'Tiranë',
+ 12 => 'Vlorë',
+ 'BR' => 'Berat',
+ 'BU' => 'Bulqizë',
+ 'DI' => 'Dibër',
+ 'DL' => 'Delvinë',
+ 'DR' => 'Durrës',
+ 'DV' => 'Devoll',
+ 'EL' => 'Elbasan',
+ 'ER' => 'Kolonjë',
+ 'FR' => 'Fier',
+ 'GJ' => 'Gjirokastër',
+ 'GR' => 'Gramsh',
+ 'HA' => 'Has',
+ 'KA' => 'Kavajë',
+ 'KB' => 'Kurbin',
+ 'KC' => 'Kuçovë',
+ 'KO' => 'Korçë',
+ 'KR' => 'Krujë',
+ 'KU' => 'Kukës',
+ 'LB' => 'Librazhd',
+ 'LE' => 'Lezhë',
+ 'LU' => 'Lushnjë',
+ 'MK' => 'Mallakastër',
+ 'MM' => 'Malësi e Madhe',
+ 'MR' => 'Mirditë',
+ 'MT' => 'Mat',
+ 'PG' => 'Pogradec',
+ 'PQ' => 'Peqin',
+ 'PR' => 'Përmet',
+ 'PU' => 'Pukë',
+ 'SH' => 'Shkodër',
+ 'SK' => 'Skrapar',
+ 'SR' => 'Sarandë',
+ 'TE' => 'Tepelenë',
+ 'TP' => 'Tropojë',
+ 'TR' => 'Tiranë',
+ 'VL' => 'Vlorë',
+ ),
+ 'AM' =>
+ array (
+ 'AG' => 'Aragacotn',
+ 'AR' => 'Ararat',
+ 'AV' => 'Armavir',
+ 'ER' => 'Erevan',
+ 'GR' => 'Gegarkunik\'',
+ 'KT' => 'Kotayk\'',
+ 'LO' => 'Lory',
+ 'SH' => 'Sirak',
+ 'SU' => 'Syunik\'',
+ 'TV' => 'Tavus',
+ 'VD' => 'Vayoc Jor',
+ ),
+ 'AO' =>
+ array (
+ 'BGO' => 'Bengo',
+ 'BGU' => 'Benguela',
+ 'BIE' => 'Bié',
+ 'CAB' => 'Cabinda',
+ 'CCU' => 'Cuando-Cubango',
+ 'CNN' => 'Cunene',
+ 'CNO' => 'Cuanza Norte',
+ 'CUS' => 'Cuanza Sul',
+ 'HUA' => 'Huambo',
+ 'HUI' => 'Huíla',
+ 'LNO' => 'Lunda Norte',
+ 'LSU' => 'Lunda Sul',
+ 'LUA' => 'Luanda',
+ 'MAL' => 'Malange',
+ 'MOX' => 'Moxico',
+ 'NAM' => 'Namibe',
+ 'UIG' => 'Uíge',
+ 'ZAI' => 'Zaire',
+ ),
+ 'AR' =>
+ array (
+ 'A' => 'Salta',
+ 'B' => 'Buenos Aires',
+ 'C' => 'Ciudad Autónoma de Buenos Aires',
+ 'D' => 'San Luis',
+ 'E' => 'Entre Rios',
+ 'F' => 'La Rioja',
+ 'G' => 'Santiago del Estero',
+ 'H' => 'Chaco',
+ 'J' => 'San Juan',
+ 'K' => 'Catamarca',
+ 'L' => 'La Pampa',
+ 'M' => 'Mendoza',
+ 'N' => 'Misiones',
+ 'P' => 'Formosa',
+ 'Q' => 'Neuquen',
+ 'R' => 'Rio Negro',
+ 'S' => 'Santa Fe',
+ 'T' => 'Tucuman',
+ 'U' => 'Chubut',
+ 'V' => 'Tierra del Fuego',
+ 'W' => 'Corrientes',
+ 'X' => 'Cordoba',
+ 'Y' => 'Jujuy',
+ 'Z' => 'Santa Cruz',
+ ),
+ 'AT' =>
+ array (
+ 1 => 'Burgenland',
+ 2 => 'Kärnten',
+ 3 => 'Niederösterreich',
+ 4 => 'Oberösterreich',
+ 5 => 'Salzburg',
+ 6 => 'Steiermark',
+ 7 => 'Tirol',
+ 8 => 'Vorarlberg',
+ 9 => 'Wien',
+ ),
+ 'AU' =>
+ array (
+ 'ACT' => 'Australian Capital Territory',
+ 'NSW' => 'New South Wales',
+ 'NT' => 'Northern Territory',
+ 'QLD' => 'Queensland',
+ 'SA' => 'South Australia',
+ 'TAS' => 'Tasmania',
+ 'VIC' => 'Victoria',
+ 'WA' => 'Western Australia',
+ ),
+ 'AZ' =>
+ array (
+ 'ABS' => 'Abşeron',
+ 'AGA' => 'Ağstafa',
+ 'AGC' => 'Ağcabədi',
+ 'AGM' => 'Ağdam',
+ 'AGS' => 'Ağdaş',
+ 'AGU' => 'Ağsu',
+ 'AST' => 'Astara',
+ 'BA' => 'Bakı',
+ 'BAB' => 'Babək',
+ 'BAL' => 'Balakən',
+ 'BAR' => 'Bərdə',
+ 'BEY' => 'Beyləqan',
+ 'BIL' => 'Biləsuvar',
+ 'CAB' => 'Cəbrayıl',
+ 'CAL' => 'Cəlilabab',
+ 'CUL' => 'Culfa',
+ 'DAS' => 'Daşkəsən',
+ 'FUZ' => 'Füzuli',
+ 'GA' => 'Gəncə',
+ 'GAD' => 'Gədəbəy',
+ 'GOR' => 'Goranboy',
+ 'GOY' => 'Göyçay',
+ 'GYG' => 'Göygöl',
+ 'HAC' => 'Hacıqabul',
+ 'IMI' => 'İmişli',
+ 'ISM' => 'İsmayıllı',
+ 'KAL' => 'Kəlbəcər',
+ 'KAN' => 'Kǝngǝrli',
+ 'KUR' => 'Kürdəmir',
+ 'LA' => 'Lənkəran',
+ 'LAC' => 'Laçın',
+ 'LAN' => 'Lənkəran',
+ 'LER' => 'Lerik',
+ 'MAS' => 'Masallı',
+ 'MI' => 'Mingəçevir',
+ 'NA' => 'Naftalan',
+ 'NEF' => 'Neftçala',
+ 'NV' => 'Naxçıvan',
+ 'NX' => 'Naxçıvan',
+ 'OGU' => 'Oğuz',
+ 'ORD' => 'Ordubad',
+ 'QAB' => 'Qəbələ',
+ 'QAX' => 'Qax',
+ 'QAZ' => 'Qazax',
+ 'QBA' => 'Quba',
+ 'QBI' => 'Qubadlı',
+ 'QOB' => 'Qobustan',
+ 'QUS' => 'Qusar',
+ 'SA' => 'Şəki',
+ 'SAB' => 'Sabirabad',
+ 'SAD' => 'Sədərək',
+ 'SAH' => 'Şahbuz',
+ 'SAK' => 'Şəki',
+ 'SAL' => 'Salyan',
+ 'SAR' => 'Şərur',
+ 'SAT' => 'Saatlı',
+ 'SBN' => 'Şabran',
+ 'SIY' => 'Siyəzən',
+ 'SKR' => 'Şəmkir',
+ 'SM' => 'Sumqayıt',
+ 'SMI' => 'Şamaxı',
+ 'SMX' => 'Samux',
+ 'SR' => 'Şirvan',
+ 'SUS' => 'Şuşa',
+ 'TAR' => 'Tərtər',
+ 'TOV' => 'Tovuz',
+ 'UCA' => 'Ucar',
+ 'XA' => 'Xankəndi',
+ 'XAC' => 'Xaçmaz',
+ 'XCI' => 'Xocalı',
+ 'XIZ' => 'Xızı',
+ 'XVD' => 'Xocavənd',
+ 'YAR' => 'Yardımlı',
+ 'YE' => 'Yevlax',
+ 'YEV' => 'Yevlax',
+ 'ZAN' => 'Zəngilan',
+ 'ZAQ' => 'Zaqatala',
+ 'ZAR' => 'Zərdab',
+ ),
+ 'BA' =>
+ array (
+ '01' => 'Unsko-sanski kanton',
+ '02' => 'Posavski kanton',
+ '03' => 'Tuzlanski kanton',
+ '04' => 'Zeničko-dobojski kanton',
+ '05' => 'Bosansko-podrinjski kanton',
+ '06' => 'Srednjobosanski kanton',
+ '07' => 'Hercegovačko-neretvanski kanton',
+ '08' => 'Zapadnohercegovački kanton',
+ '09' => 'Kanton Sarajevo',
+ 10 => 'Kanton br. 10 (Livanjski kanton)',
+ 'BIH' => 'Federacija Bosne i Hercegovine',
+ 'BRC' => 'Brčko distrikt',
+ 'SRP' => 'Republika Srpska',
+ ),
+ 'BB' =>
+ array (
+ '01' => 'Christ Church',
+ '02' => 'Saint Andrew',
+ '03' => 'Saint George',
+ '04' => 'Saint James',
+ '05' => 'Saint John',
+ '06' => 'Saint Joseph',
+ '07' => 'Saint Lucy',
+ '08' => 'Saint Michael',
+ '09' => 'Saint Peter',
+ 10 => 'Saint Philip',
+ 11 => 'Saint Thomas',
+ ),
+ 'BD' =>
+ array (
+ '01' => 'Bandarban',
+ '02' => 'Barguna',
+ '03' => 'Bogra',
+ '04' => 'Brahmanbaria',
+ '05' => 'Bagerhat',
+ '06' => 'Barisal',
+ '07' => 'Bhola',
+ '08' => 'Comilla',
+ '09' => 'Chandpur',
+ 10 => 'Chittagong',
+ 11 => 'Cox\'s Bazar',
+ 12 => 'Chuadanga',
+ 13 => 'Dhaka',
+ 14 => 'Dinajpur',
+ 15 => 'Faridpur',
+ 16 => 'Feni',
+ 17 => 'Gopalganj',
+ 18 => 'Gazipur',
+ 19 => 'Gaibandha',
+ 20 => 'Habiganj',
+ 21 => 'Jamalpur',
+ 22 => 'Jessore',
+ 23 => 'Jhenaidah',
+ 24 => 'Jaipurhat',
+ 25 => 'Jhalakati',
+ 26 => 'Kishorganj',
+ 27 => 'Khulna',
+ 28 => 'Kurigram',
+ 29 => 'Khagrachari',
+ 30 => 'Kushtia',
+ 31 => 'Lakshmipur',
+ 32 => 'Lalmonirhat',
+ 33 => 'Manikganj',
+ 34 => 'Mymensingh',
+ 35 => 'Munshiganj',
+ 36 => 'Madaripur',
+ 37 => 'Magura',
+ 38 => 'Moulvibazar',
+ 39 => 'Meherpur',
+ 40 => 'Narayanganj',
+ 41 => 'Netrakona',
+ 42 => 'Narsingdi',
+ 43 => 'Narail',
+ 44 => 'Natore',
+ 45 => 'Nawabganj',
+ 46 => 'Nilphamari',
+ 47 => 'Noakhali',
+ 48 => 'Naogaon',
+ 49 => 'Pabna',
+ 50 => 'Pirojpur',
+ 51 => 'Patuakhali',
+ 52 => 'Panchagarh',
+ 53 => 'Rajbari',
+ 54 => 'Rajshahi',
+ 55 => 'Rangpur',
+ 56 => 'Rangamati',
+ 57 => 'Sherpur',
+ 58 => 'Satkhira',
+ 59 => 'Sirajganj',
+ 60 => 'Sylhet',
+ 61 => 'Sunamganj',
+ 62 => 'Shariatpur',
+ 63 => 'Tangail',
+ 64 => 'Thakurgaon',
+ 'A' => 'Barisal',
+ 'B' => 'Chittagong',
+ 'C' => 'Dhaka',
+ 'D' => 'Khulna',
+ 'E' => 'Rajshahi',
+ 'F' => 'Rangpur',
+ 'G' => 'Sylhet',
+ ),
+ 'BE' =>
+ array (
+ 'BRU' => 'Bruxelles-Capitale, Région de;Brussels Hoofdstedelijk Gewest',
+ 'VAN' => 'Antwerpen',
+ 'VBR' => 'Vlaams-Brabant',
+ 'VLG' => 'Vlaams Gewest',
+ 'VLI' => 'Limburg',
+ 'VOV' => 'Oost-Vlaanderen',
+ 'VWV' => 'West-Vlaanderen',
+ 'WAL' => 'wallonne, Région',
+ 'WBR' => 'Brabant wallon',
+ 'WHT' => 'Hainaut',
+ 'WLG' => 'Liège',
+ 'WLX' => 'Luxembourg',
+ 'WNA' => 'Namur',
+ ),
+ 'BF' =>
+ array (
+ '01' => 'Boucle du Mouhoun',
+ '02' => 'Cascades',
+ '03' => 'Centre',
+ '04' => 'Centre-Est',
+ '05' => 'Centre-Nord',
+ '06' => 'Centre-Ouest',
+ '07' => 'Centre-Sud',
+ '08' => 'Est',
+ '09' => 'Hauts-Bassins',
+ 10 => 'Nord',
+ 11 => 'Plateau-Central',
+ 12 => 'Sahel',
+ 13 => 'Sud-Ouest',
+ 'BAL' => 'Balé',
+ 'BAM' => 'Bam',
+ 'BAN' => 'Banwa',
+ 'BAZ' => 'Bazèga',
+ 'BGR' => 'Bougouriba',
+ 'BLG' => 'Boulgou',
+ 'BLK' => 'Boulkiemdé',
+ 'COM' => 'Comoé',
+ 'GAN' => 'Ganzourgou',
+ 'GNA' => 'Gnagna',
+ 'GOU' => 'Gourma',
+ 'HOU' => 'Houet',
+ 'IOB' => 'Ioba',
+ 'KAD' => 'Kadiogo',
+ 'KEN' => 'Kénédougou',
+ 'KMD' => 'Komondjari',
+ 'KMP' => 'Kompienga',
+ 'KOP' => 'Koulpélogo',
+ 'KOS' => 'Kossi',
+ 'KOT' => 'Kouritenga',
+ 'KOW' => 'Kourwéogo',
+ 'LER' => 'Léraba',
+ 'LOR' => 'Loroum',
+ 'MOU' => 'Mouhoun',
+ 'NAM' => 'Namentenga',
+ 'NAO' => 'Naouri',
+ 'NAY' => 'Nayala',
+ 'NOU' => 'Noumbiel',
+ 'OUB' => 'Oubritenga',
+ 'OUD' => 'Oudalan',
+ 'PAS' => 'Passoré',
+ 'PON' => 'Poni',
+ 'SEN' => 'Séno',
+ 'SIS' => 'Sissili',
+ 'SMT' => 'Sanmatenga',
+ 'SNG' => 'Sanguié',
+ 'SOM' => 'Soum',
+ 'SOR' => 'Sourou',
+ 'TAP' => 'Tapoa',
+ 'TUI' => 'Tui',
+ 'YAG' => 'Yagha',
+ 'YAT' => 'Yatenga',
+ 'ZIR' => 'Ziro',
+ 'ZON' => 'Zondoma',
+ 'ZOU' => 'Zoundwéogo',
+ ),
+ 'BG' =>
+ array (
+ '01' => 'Blagoevgrad',
+ '02' => 'Burgas',
+ '03' => 'Varna',
+ '04' => 'Veliko Tarnovo',
+ '05' => 'Vidin',
+ '06' => 'Vratsa',
+ '07' => 'Gabrovo',
+ '08' => 'Dobrich',
+ '09' => 'Kardzhali',
+ 10 => 'Kyustendil',
+ 11 => 'Lovech',
+ 12 => 'Montana',
+ 13 => 'Pazardzhik',
+ 14 => 'Pernik',
+ 15 => 'Pleven',
+ 16 => 'Plovdiv',
+ 17 => 'Razgrad',
+ 18 => 'Ruse',
+ 19 => 'Silistra',
+ 20 => 'Sliven',
+ 21 => 'Smolyan',
+ 22 => 'Sofia-Grad',
+ 23 => 'Sofia',
+ 24 => 'Stara Zagora',
+ 25 => 'Targovishte',
+ 26 => 'Haskovo',
+ 27 => 'Shumen',
+ 28 => 'Yambol',
+ ),
+ 'BH' =>
+ array (
+ 13 => 'Al Manāmah (Al ‘Āşimah)',
+ 14 => 'Al Janūbīyah',
+ 15 => 'Al Muḩarraq',
+ 16 => 'Al Wusţá',
+ 17 => 'Ash Shamālīyah',
+ ),
+ 'BI' =>
+ array (
+ 'BB' => 'Bubanza',
+ 'BL' => 'Bujumbura Rural',
+ 'BM' => 'Bujumbura Mairie',
+ 'BR' => 'Bururi',
+ 'CA' => 'Cankuzo',
+ 'CI' => 'Cibitoke',
+ 'GI' => 'Gitega',
+ 'KI' => 'Kirundo',
+ 'KR' => 'Karuzi',
+ 'KY' => 'Kayanza',
+ 'MA' => 'Makamba',
+ 'MU' => 'Muramvya',
+ 'MW' => 'Mwaro',
+ 'MY' => 'Muyinga',
+ 'NG' => 'Ngozi',
+ 'RT' => 'Rutana',
+ 'RY' => 'Ruyigi',
+ ),
+ 'BJ' =>
+ array (
+ 'AK' => 'Atakora',
+ 'AL' => 'Alibori',
+ 'AQ' => 'Atlantique',
+ 'BO' => 'Borgou',
+ 'CO' => 'Collines',
+ 'DO' => 'Donga',
+ 'KO' => 'Kouffo',
+ 'LI' => 'Littoral',
+ 'MO' => 'Mono',
+ 'OU' => 'Ouémé',
+ 'PL' => 'Plateau',
+ 'ZO' => 'Zou',
+ ),
+ 'BN' =>
+ array (
+ 'BE' => 'Belait',
+ 'BM' => 'Brunei-Muara',
+ 'TE' => 'Temburong',
+ 'TU' => 'Tutong',
+ ),
+ 'BO' =>
+ array (
+ 'B' => 'El Beni',
+ 'C' => 'Cochabamba',
+ 'H' => 'Chuquisaca',
+ 'L' => 'La Paz',
+ 'N' => 'Pando',
+ 'O' => 'Oruro',
+ 'P' => 'Potosí',
+ 'S' => 'Santa Cruz',
+ 'T' => 'Tarija',
+ ),
+ 'BQ' =>
+ array (
+ 'BO' => 'Bonaire',
+ 'SA' => 'Saba',
+ 'SE' => 'Sint Eustatius',
+ ),
+ 'BR' =>
+ array (
+ 'AC' => 'Acre',
+ 'AL' => 'Alagoas',
+ 'AM' => 'Amazonas',
+ 'AP' => 'Amapá',
+ 'BA' => 'Bahia',
+ 'CE' => 'Ceará',
+ 'DF' => 'Distrito Federal',
+ 'ES' => 'Espírito Santo',
+ 'FN' => 'Fernando de Noronha',
+ 'GO' => 'Goiás',
+ 'MA' => 'Maranhão',
+ 'MG' => 'Minas Gerais',
+ 'MS' => 'Mato Grosso do Sul',
+ 'MT' => 'Mato Grosso',
+ 'PA' => 'Pará',
+ 'PB' => 'Paraíba',
+ 'PE' => 'Pernambuco',
+ 'PI' => 'Piauí',
+ 'PR' => 'Paraná',
+ 'RJ' => 'Rio de Janeiro',
+ 'RN' => 'Rio Grande do Norte',
+ 'RO' => 'Rondônia',
+ 'RR' => 'Roraima',
+ 'RS' => 'Rio Grande do Sul',
+ 'SC' => 'Santa Catarina',
+ 'SE' => 'Sergipe',
+ 'SP' => 'São Paulo',
+ 'TO' => 'Tocantins',
+ ),
+ 'BS' =>
+ array (
+ 'AK' => 'Acklins',
+ 'BI' => 'Bimini',
+ 'BP' => 'Black Point',
+ 'BY' => 'Berry Islands',
+ 'CE' => 'Central Eleuthera',
+ 'CI' => 'Cat Island',
+ 'CK' => 'Crooked Island and Long Cay',
+ 'CO' => 'Central Abaco',
+ 'CS' => 'Central Andros',
+ 'EG' => 'East Grand Bahama',
+ 'EX' => 'Exuma',
+ 'FP' => 'City of Freeport',
+ 'GC' => 'Grand Cay',
+ 'HI' => 'Harbour Island',
+ 'HT' => 'Hope Town',
+ 'IN' => 'Inagua',
+ 'LI' => 'Long Island',
+ 'MC' => 'Mangrove Cay',
+ 'MG' => 'Mayaguana',
+ 'MI' => 'Moore\'s Island',
+ 'NE' => 'North Eleuthera',
+ 'NO' => 'North Abaco',
+ 'NS' => 'North Andros',
+ 'RC' => 'Rum Cay',
+ 'RI' => 'Ragged Island',
+ 'SA' => 'South Andros',
+ 'SE' => 'South Eleuthera',
+ 'SO' => 'South Abaco',
+ 'SS' => 'San Salvador',
+ 'SW' => 'Spanish Wells',
+ 'WG' => 'West Grand Bahama',
+ ),
+ 'BT' =>
+ array (
+ 11 => 'Paro',
+ 12 => 'Chhukha',
+ 13 => 'Ha',
+ 14 => 'Samtee',
+ 15 => 'Thimphu',
+ 21 => 'Tsirang',
+ 22 => 'Dagana',
+ 23 => 'Punakha',
+ 24 => 'Wangdue Phodrang',
+ 31 => 'Sarpang',
+ 32 => 'Trongsa',
+ 33 => 'Bumthang',
+ 34 => 'Zhemgang',
+ 41 => 'Trashigang',
+ 42 => 'Monggar',
+ 43 => 'Pemagatshel',
+ 44 => 'Lhuentse',
+ 45 => 'Samdrup Jongkha',
+ 'GA' => 'Gasa',
+ 'TY' => 'Trashi Yangtse',
+ ),
+ 'BW' =>
+ array (
+ 'CE' => 'Central',
+ 'GH' => 'Ghanzi',
+ 'KG' => 'Kgalagadi',
+ 'KL' => 'Kgatleng',
+ 'KW' => 'Kweneng',
+ 'NE' => 'North-East',
+ 'NW' => 'North-West',
+ 'SE' => 'South-East',
+ 'SO' => 'Southern',
+ ),
+ 'BY' =>
+ array (
+ 'BR' => 'Brèsckaja voblasc\'',
+ 'HM' => 'Horad Minsk',
+ 'HO' => 'Homel\'skaja voblasc\'',
+ 'HR' => 'Hrodzenskaja voblasc\'',
+ 'MA' => 'Mahilëuskaja voblasc\'',
+ 'MI' => 'Minskaja voblasc\'',
+ 'VI' => 'Vicebskaja voblasc\'',
+ ),
+ 'BZ' =>
+ array (
+ 'BZ' => 'Belize',
+ 'CY' => 'Cayo',
+ 'CZL' => 'Corozal',
+ 'OW' => 'Orange Walk',
+ 'SC' => 'Stann Creek',
+ 'TOL' => 'Toledo',
+ ),
+ 'CA' =>
+ array (
+ 'AB' => 'Alberta',
+ 'BC' => 'British Columbia',
+ 'MB' => 'Manitoba',
+ 'NB' => 'New Brunswick',
+ 'NL' => 'Newfoundland and Labrador',
+ 'NS' => 'Nova Scotia',
+ 'NT' => 'Northwest Territories',
+ 'NU' => 'Nunavut',
+ 'ON' => 'Ontario',
+ 'PE' => 'Prince Edward Island',
+ 'QC' => 'Quebec',
+ 'SK' => 'Saskatchewan',
+ 'YT' => 'Yukon Territory',
+ ),
+ 'CD' =>
+ array (
+ 'BC' => 'Bas-Congo',
+ 'BN' => 'Bandundu',
+ 'EQ' => 'Équateur',
+ 'KA' => 'Katanga',
+ 'KE' => 'Kasai-Oriental',
+ 'KN' => 'Kinshasa',
+ 'KW' => 'Kasai-Occidental',
+ 'MA' => 'Maniema',
+ 'NK' => 'Nord-Kivu',
+ 'OR' => 'Orientale',
+ 'SK' => 'Sud-Kivu',
+ ),
+ 'CF' =>
+ array (
+ 'AC' => 'Ouham',
+ 'BB' => 'Bamingui-Bangoran',
+ 'BGF' => 'Bangui',
+ 'BK' => 'Basse-Kotto',
+ 'HK' => 'Haute-Kotto',
+ 'HM' => 'Haut-Mbomou',
+ 'HS' => 'Haute-Sangha / Mambéré-Kadéï',
+ 'KB' => 'Gribingui',
+ 'KG' => 'Kémo-Gribingui',
+ 'LB' => 'Lobaye',
+ 'MB' => 'Mbomou',
+ 'MP' => 'Ombella-M\'poko',
+ 'NM' => 'Nana-Mambéré',
+ 'OP' => 'Ouham-Pendé',
+ 'SE' => 'Sangha',
+ 'UK' => 'Ouaka',
+ 'VK' => 'Vakaga',
+ ),
+ 'CG' =>
+ array (
+ 11 => 'Bouenza',
+ 12 => 'Pool',
+ 13 => 'Sangha',
+ 14 => 'Plateaux',
+ 15 => 'Cuvette-Ouest',
+ 2 => 'Lékoumou',
+ 5 => 'Kouilou',
+ 7 => 'Likouala',
+ 8 => 'Cuvette',
+ 9 => 'Niari',
+ 'BZV' => 'Brazzaville',
+ ),
+ 'CH' =>
+ array (
+ 'AG' => 'Aargau',
+ 'AI' => 'Appenzell Innerrhoden',
+ 'AR' => 'Appenzell Ausserrhoden',
+ 'BE' => 'Bern',
+ 'BL' => 'Basel-Landschaft',
+ 'BS' => 'Basel-Stadt',
+ 'FR' => 'Fribourg',
+ 'GE' => 'Genève',
+ 'GL' => 'Glarus',
+ 'GR' => 'Graubünden',
+ 'JU' => 'Jura',
+ 'LU' => 'Luzern',
+ 'NE' => 'Neuchâtel',
+ 'NW' => 'Nidwalden',
+ 'OW' => 'Obwalden',
+ 'SG' => 'Sankt Gallen',
+ 'SH' => 'Schaffhausen',
+ 'SO' => 'Solothurn',
+ 'SZ' => 'Schwyz',
+ 'TG' => 'Thurgau',
+ 'TI' => 'Ticino',
+ 'UR' => 'Uri',
+ 'VD' => 'Vaud',
+ 'VS' => 'Valais',
+ 'ZG' => 'Zug',
+ 'ZH' => 'Zürich',
+ ),
+ 'CI' =>
+ array (
+ 'AB' => 'Abidjan',
+ 'BS' => 'Bas-Sassandra',
+ 'CM' => 'Comoé',
+ 'DN' => 'Denguélé',
+ 'GD' => 'Gôh-Djiboua',
+ 'LC' => 'Lacs',
+ 'LG' => 'Lagunes',
+ 'MG' => 'Montagnes',
+ 'SM' => 'Sassandra-Marahoué',
+ 'SV' => 'Savanes',
+ 'VB' => 'Vallée du Bandama',
+ 'WR' => 'Woroba',
+ 'YM' => 'Yamoussoukro',
+ 'ZZ' => 'Zanzan',
+ ),
+ 'CL' =>
+ array (
+ 'AI' => 'Aisén del General Carlos Ibáñez del Campo',
+ 'AN' => 'Antofagasta',
+ 'AP' => 'Arica y Parinacota',
+ 'AR' => 'Araucanía',
+ 'AT' => 'Atacama',
+ 'BI' => 'Bío-Bío',
+ 'CO' => 'Coquimbo',
+ 'LI' => 'Libertador General Bernardo O\'Higgins',
+ 'LL' => 'Los Lagos',
+ 'LR' => 'Los Ríos',
+ 'MA' => 'Magallanes y Antártica Chilena',
+ 'ML' => 'Maule',
+ 'RM' => 'Región Metropolitana de Santiago',
+ 'TA' => 'Tarapacá',
+ 'VS' => 'Valparaíso',
+ ),
+ 'CM' =>
+ array (
+ 'AD' => 'Adamaoua',
+ 'CE' => 'Centre',
+ 'EN' => 'Far North',
+ 'ES' => 'East',
+ 'LT' => 'Littoral',
+ 'NO' => 'North',
+ 'NW' => 'North-West (Cameroon)',
+ 'OU' => 'West',
+ 'SU' => 'South',
+ 'SW' => 'South-West',
+ ),
+ 'CN' =>
+ array (
+ 'BJ' => 'Beijing',
+ 'TJ' => 'Tianjin',
+ 'HE' => 'Hebei',
+ 'SX' => 'Shanxi',
+ 'NM' => 'Nei Mongol',
+ 'LN' => 'Liaoning',
+ 'JL' => 'Jilin',
+ 'HL' => 'Heilongjiang',
+ 'SH' => 'Shanghai',
+ 'JS' => 'Jiangsu',
+ 'ZJ' => 'Zhejiang',
+ 'AH' => 'Anhui',
+ 'FJ' => 'Fujian',
+ 'JX' => 'Jiangxi',
+ 'SD' => 'Shandong',
+ 'HA' => 'Henan',
+ 'HB' => 'Hubei',
+ 'HN' => 'Hunan',
+ 'GD' => 'Guangdong',
+ 'GX' => 'Guangxi',
+ 'HI' => 'Hainan',
+ 'CQ' => 'Chongqing',
+ 'SC' => 'Sichuan',
+ 'GZ' => 'Guizhou',
+ 'YN' => 'Yunnan',
+ 'XZ' => 'Xizang',
+ 'SN' => 'Shaanxi',
+ 'GS' => 'Gansu',
+ 'QH' => 'Qinghai',
+ 'NX' => 'Ningxia',
+ 'XJ' => 'Xinjiang',
+ 'TW' => 'Taiwan',
+ 'HK' => 'Xianggang (Hong-Kong)',
+ 'MO' => 'Aomen (Macau)',
+ ),
+ 'CO' =>
+ array (
+ 'AMA' => 'Amazonas',
+ 'ANT' => 'Antioquia',
+ 'ARA' => 'Arauca',
+ 'ATL' => 'Atlántico',
+ 'BOL' => 'Bolívar',
+ 'BOY' => 'Boyacá',
+ 'CAL' => 'Caldas',
+ 'CAQ' => 'Caquetá',
+ 'CAS' => 'Casanare',
+ 'CAU' => 'Cauca',
+ 'CES' => 'Cesar',
+ 'CHO' => 'Chocó',
+ 'COR' => 'Córdoba',
+ 'CUN' => 'Cundinamarca',
+ 'DC' => 'Distrito Capital de Bogotá',
+ 'GUA' => 'Guainía',
+ 'GUV' => 'Guaviare',
+ 'HUI' => 'Huila',
+ 'LAG' => 'La Guajira',
+ 'MAG' => 'Magdalena',
+ 'MET' => 'Meta',
+ 'NAR' => 'Nariño',
+ 'NSA' => 'Norte de Santander',
+ 'PUT' => 'Putumayo',
+ 'QUI' => 'Quindío',
+ 'RIS' => 'Risaralda',
+ 'SAN' => 'Santander',
+ 'SAP' => 'San Andrés, Providencia y Santa Catalina',
+ 'SUC' => 'Sucre',
+ 'TOL' => 'Tolima',
+ 'VAC' => 'Valle del Cauca',
+ 'VAU' => 'Vaupés',
+ 'VID' => 'Vichada',
+ ),
+ 'CR' =>
+ array (
+ 'A' => 'Alajuela',
+ 'C' => 'Cartago',
+ 'G' => 'Guanacaste',
+ 'H' => 'Heredia',
+ 'L' => 'Limón',
+ 'P' => 'Puntarenas',
+ 'SJ' => 'San José',
+ ),
+ 'CU' =>
+ array (
+ '01' => 'Pinar del Rio',
+ '02' => 'La Habana',
+ '03' => 'Ciudad de La Habana',
+ '04' => 'Matanzas',
+ '05' => 'Villa Clara',
+ '06' => 'Cienfuegos',
+ '07' => 'Sancti Spíritus',
+ '08' => 'Ciego de Ávila',
+ '09' => 'Camagüey',
+ 10 => 'Las Tunas',
+ 11 => 'Holguín',
+ 12 => 'Granma',
+ 13 => 'Santiago de Cuba',
+ 14 => 'Guantánamo',
+ 99 => 'Isla de la Juventud',
+ ),
+ 'CV' =>
+ array (
+ 'B' => 'Ilhas de Barlavento',
+ 'BR' => 'Brava',
+ 'BV' => 'Boa Vista',
+ 'CA' => 'Santa Catarina',
+ 'CF' => 'Santa Catarina de Fogo',
+ 'CR' => 'Santa Cruz',
+ 'MA' => 'Maio',
+ 'MO' => 'Mosteiros',
+ 'PA' => 'Paul',
+ 'PN' => 'Porto Novo',
+ 'PR' => 'Praia',
+ 'RB' => 'Ribeira Brava',
+ 'RG' => 'Ribeira Grande',
+ 'RS' => 'Ribeira Grande de Santiago',
+ 'S' => 'Ilhas de Sotavento',
+ 'SD' => 'São Domingos',
+ 'SF' => 'São Filipe',
+ 'SL' => 'Sal',
+ 'SM' => 'São Miguel',
+ 'SO' => 'São Lourenço dos Órgãos',
+ 'SS' => 'São Salvador do Mundo',
+ 'SV' => 'São Vicente',
+ 'TA' => 'Tarrafal',
+ 'TS' => 'Tarrafal de São Nicolau',
+ ),
+ 'CY' =>
+ array (
+ '01' => 'Lefkosía',
+ '02' => 'Lemesós',
+ '03' => 'Lárnaka',
+ '04' => 'Ammóchostos',
+ '05' => 'Páfos',
+ '06' => 'Kerýneia',
+ ),
+ 'CZ' =>
+ array (
+ 10 => 'Praha, Hlavní mešto',
+ 101 => 'Praha 1',
+ 102 => 'Praha 2',
+ 103 => 'Praha 3',
+ 104 => 'Praha 4',
+ 105 => 'Praha 5',
+ 106 => 'Praha 6',
+ 107 => 'Praha 7',
+ 108 => 'Praha 8',
+ 109 => 'Praha 9',
+ 110 => 'Praha 10',
+ 111 => 'Praha 11',
+ 112 => 'Praha 12',
+ 113 => 'Praha 13',
+ 114 => 'Praha 14',
+ 115 => 'Praha 15',
+ 116 => 'Praha 16',
+ 117 => 'Praha 17',
+ 118 => 'Praha 18',
+ 119 => 'Praha 19',
+ 120 => 'Praha 20',
+ 121 => 'Praha 21',
+ 122 => 'Praha 22',
+ 20 => 'Středočeský kraj',
+ 201 => 'Benešov',
+ 202 => 'Beroun',
+ 203 => 'Kladno',
+ 204 => 'Kolín',
+ 205 => 'Kutná Hora',
+ 206 => 'Mělník',
+ 207 => 'Mladá Boleslav',
+ 208 => 'Nymburk',
+ 209 => 'Praha-východ',
+ '20A' => 'Praha-západ',
+ '20B' => 'Příbram',
+ '20C' => 'Rakovník',
+ 31 => 'Jihočeský kraj',
+ 311 => 'České Budějovice',
+ 312 => 'Český Krumlov',
+ 313 => 'Jindřichův Hradec',
+ 314 => 'Písek',
+ 315 => 'Prachatice',
+ 316 => 'Strakonice',
+ 317 => 'Tábor',
+ 32 => 'Plzeňský kraj',
+ 321 => 'Domažlice',
+ 322 => 'Klatovy',
+ 323 => 'Plzeň-město',
+ 324 => 'Plzeň-jih',
+ 325 => 'Plzeň-sever',
+ 326 => 'Rokycany',
+ 327 => 'Tachov',
+ 41 => 'Karlovarský kraj',
+ 411 => 'Cheb',
+ 412 => 'Karlovy Vary',
+ 413 => 'Sokolov',
+ 42 => 'Ústecký kraj',
+ 421 => 'Děčín',
+ 422 => 'Chomutov',
+ 423 => 'Litoměřice',
+ 424 => 'Louny',
+ 425 => 'Most',
+ 426 => 'Teplice',
+ 427 => 'Ústí nad Labem',
+ 51 => 'Liberecký kraj',
+ 511 => 'Česká Lípa',
+ 512 => 'Jablonec nad Nisou',
+ 513 => 'Liberec',
+ 514 => 'Semily',
+ 52 => 'Královéhradecký kraj',
+ 521 => 'Hradec Králové',
+ 522 => 'Jičín',
+ 523 => 'Náchod',
+ 524 => 'Rychnov nad Kněžnou',
+ 525 => 'Trutnov',
+ 53 => 'Pardubický kraj',
+ 531 => 'Chrudim',
+ 532 => 'Pardubice',
+ 533 => 'Svitavy',
+ 534 => 'Ústí nad Orlicí',
+ 63 => 'Kraj Vysočina',
+ 631 => 'Havlíčkův Brod',
+ 632 => 'Jihlava',
+ 633 => 'Pelhřimov',
+ 634 => 'Třebíč',
+ 635 => 'Žďár nad Sázavou',
+ 64 => 'Jihomoravský kraj',
+ 641 => 'Blansko',
+ 642 => 'Brno-město',
+ 643 => 'Brno-venkov',
+ 644 => 'Břeclav',
+ 645 => 'Hodonín',
+ 646 => 'Vyškov',
+ 647 => 'Znojmo',
+ 71 => 'Olomoucký kraj',
+ 711 => 'Jeseník',
+ 712 => 'Olomouc',
+ 713 => 'Prostějov',
+ 714 => 'Přerov',
+ 715 => 'Šumperk',
+ 72 => 'Zlínský kraj',
+ 721 => 'Kroměříž',
+ 722 => 'Uherské Hradiště',
+ 723 => 'Vsetín',
+ 724 => 'Zlín',
+ 80 => 'Moravskoslezský kraj',
+ 801 => 'Bruntál',
+ 802 => 'Frýdek Místek',
+ 803 => 'Karviná',
+ 804 => 'Nový Jičín',
+ 805 => 'Opava',
+ 806 => 'Ostrava-město',
+ ),
+ 'DE' =>
+ array (
+ 'BB' => 'Brandenburg',
+ 'BE' => 'Berlin',
+ 'BW' => 'Baden-Württemberg',
+ 'BY' => 'Bayern',
+ 'HB' => 'Bremen',
+ 'HE' => 'Hessen',
+ 'HH' => 'Hamburg',
+ 'MV' => 'Mecklenburg-Vorpommern',
+ 'NI' => 'Niedersachsen',
+ 'NW' => 'Nordrhein-Westfalen',
+ 'RP' => 'Rheinland-Pfalz',
+ 'SH' => 'Schleswig-Holstein',
+ 'SL' => 'Saarland',
+ 'SN' => 'Sachsen',
+ 'ST' => 'Sachsen-Anhalt',
+ 'TH' => 'Thüringen',
+ ),
+ 'DJ' =>
+ array (
+ 'AR' => 'Arta',
+ 'AS' => 'Ali Sabieh',
+ 'DI' => 'Dikhil',
+ 'DJ' => 'Djibouti',
+ 'OB' => 'Obock',
+ 'TA' => 'Tadjourah',
+ ),
+ 'DK' =>
+ array (
+ 81 => 'Nordjylland',
+ 82 => 'Midtjylland',
+ 83 => 'Syddanmark',
+ 84 => 'Hovedstaden',
+ 85 => 'Sjælland',
+ ),
+ 'DM' =>
+ array (
+ '01' => 'Saint Peter',
+ '02' => 'Saint Andrew',
+ '03' => 'Saint David',
+ '04' => 'Saint George',
+ '05' => 'Saint John',
+ '06' => 'Saint Joseph',
+ '07' => 'Saint Luke',
+ '08' => 'Saint Mark',
+ '09' => 'Saint Patrick',
+ 10 => 'Saint Paul',
+ ),
+ 'DO' =>
+ array (
+ '01' => 'Distrito Nacional (Santo Domingo)',
+ '02' => 'Azua',
+ '03' => 'Bahoruco',
+ '04' => 'Barahona',
+ '05' => 'Dajabón',
+ '06' => 'Duarte',
+ '07' => 'La Estrelleta [Elías Piña]',
+ '08' => 'El Seybo [El Seibo]',
+ '09' => 'Espaillat',
+ 10 => 'Independencia',
+ 11 => 'La Altagracia',
+ 12 => 'La Romana',
+ 13 => 'La Vega',
+ 14 => 'María Trinidad Sánchez',
+ 15 => 'Monte Cristi',
+ 16 => 'Pedernales',
+ 17 => 'Peravia',
+ 18 => 'Puerto Plata',
+ 19 => 'Salcedo',
+ 20 => 'Samaná',
+ 21 => 'San Cristóbal',
+ 22 => 'San Juan',
+ 23 => 'San Pedro de Macorís',
+ 24 => 'Sánchez Ramírez',
+ 25 => 'Santiago',
+ 26 => 'Santiago Rodríguez',
+ 27 => 'Valverde',
+ 28 => 'Monseñor Nouel',
+ 29 => 'Monte Plata',
+ 30 => 'Hato Mayor',
+ 31 => 'San José de Ocoa',
+ 32 => 'Santo Domingo',
+ 33 => 'Cibao Nordeste',
+ 34 => 'Cibao Noroeste',
+ 35 => 'Cibao Norte',
+ 36 => 'Cibao Sur',
+ 37 => 'El Valle',
+ 38 => 'Enriquillo',
+ 39 => 'Higuamo',
+ 40 => 'Ozama',
+ 41 => 'Valdesia',
+ 42 => 'Yuma',
+ ),
+ 'DZ' =>
+ array (
+ '01' => 'Adrar',
+ '02' => 'Chlef',
+ '03' => 'Laghouat',
+ '04' => 'Oum el Bouaghi',
+ '05' => 'Batna',
+ '06' => 'Béjaïa',
+ '07' => 'Biskra',
+ '08' => 'Béchar',
+ '09' => 'Blida',
+ 10 => 'Bouira',
+ 11 => 'Tamanghasset',
+ 12 => 'Tébessa',
+ 13 => 'Tlemcen',
+ 14 => 'Tiaret',
+ 15 => 'Tizi Ouzou',
+ 16 => 'Alger',
+ 17 => 'Djelfa',
+ 18 => 'Jijel',
+ 19 => 'Sétif',
+ 20 => 'Saïda',
+ 21 => 'Skikda',
+ 22 => 'Sidi Bel Abbès',
+ 23 => 'Annaba',
+ 24 => 'Guelma',
+ 25 => 'Constantine',
+ 26 => 'Médéa',
+ 27 => 'Mostaganem',
+ 28 => 'Msila',
+ 29 => 'Mascara',
+ 30 => 'Ouargla',
+ 31 => 'Oran',
+ 32 => 'El Bayadh',
+ 33 => 'Illizi',
+ 34 => 'Bordj Bou Arréridj',
+ 35 => 'Boumerdès',
+ 36 => 'El Tarf',
+ 37 => 'Tindouf',
+ 38 => 'Tissemsilt',
+ 39 => 'El Oued',
+ 40 => 'Khenchela',
+ 41 => 'Souk Ahras',
+ 42 => 'Tipaza',
+ 43 => 'Mila',
+ 44 => 'Aïn Defla',
+ 45 => 'Naama',
+ 46 => 'Aïn Témouchent',
+ 47 => 'Ghardaïa',
+ 48 => 'Relizane',
+ ),
+ 'EC' =>
+ array (
+ 'A' => 'Azuay',
+ 'B' => 'Bolívar',
+ 'C' => 'Carchi',
+ 'D' => 'Orellana',
+ 'E' => 'Esmeraldas',
+ 'F' => 'Cañar',
+ 'G' => 'Guayas',
+ 'H' => 'Chimborazo',
+ 'I' => 'Imbabura',
+ 'L' => 'Loja',
+ 'M' => 'Manabí',
+ 'N' => 'Napo',
+ 'O' => 'El Oro',
+ 'P' => 'Pichincha',
+ 'R' => 'Los Ríos',
+ 'S' => 'Morona-Santiago',
+ 'SD' => 'Santo Domingo de los Tsáchilas',
+ 'SE' => 'Santa Elena',
+ 'T' => 'Tungurahua',
+ 'U' => 'Sucumbíos',
+ 'W' => 'Galápagos',
+ 'X' => 'Cotopaxi',
+ 'Y' => 'Pastaza',
+ 'Z' => 'Zamora-Chinchipe',
+ ),
+ 'EE' =>
+ array (
+ 37 => 'Harjumaa',
+ 39 => 'Hiiumaa',
+ 44 => 'Ida-Virumaa',
+ 49 => 'Jõgevamaa',
+ 51 => 'Järvamaa',
+ 57 => 'Läänemaa',
+ 59 => 'Lääne-Virumaa',
+ 65 => 'Põlvamaa',
+ 67 => 'Pärnumaa',
+ 70 => 'Raplamaa',
+ 74 => 'Saaremaa',
+ 78 => 'Tartumaa',
+ 82 => 'Valgamaa',
+ 84 => 'Viljandimaa',
+ 86 => 'Võrumaa',
+ ),
+ 'EG' =>
+ array (
+ 'ALX' => 'Al Iskandarīyah',
+ 'ASN' => 'Aswān',
+ 'AST' => 'Asyūt',
+ 'BA' => 'Al Bahr al Ahmar',
+ 'BH' => 'Al Buhayrah',
+ 'BNS' => 'Banī Suwayf',
+ 'C' => 'Al Qāhirah',
+ 'DK' => 'Ad Daqahlīyah',
+ 'DT' => 'Dumyāt',
+ 'FYM' => 'Al Fayyūm',
+ 'GH' => 'Al Gharbīyah',
+ 'GZ' => 'Al Jīzah',
+ 'HU' => 'Ḩulwān',
+ 'IS' => 'Al Ismā`īlīyah',
+ 'JS' => 'Janūb Sīnā\'',
+ 'KB' => 'Al Qalyūbīyah',
+ 'KFS' => 'Kafr ash Shaykh',
+ 'KN' => 'Qinā',
+ 'LX' => 'Al Uqşur',
+ 'MN' => 'Al Minyā',
+ 'MNF' => 'Al Minūfīyah',
+ 'MT' => 'Matrūh',
+ 'PTS' => 'Būr Sa`īd',
+ 'SHG' => 'Sūhāj',
+ 'SHR' => 'Ash Sharqīyah',
+ 'SIN' => 'Shamal Sīnā\'',
+ 'SU' => 'As Sādis min Uktūbar',
+ 'SUZ' => 'As Suways',
+ 'WAD' => 'Al Wādī al Jadīd',
+ ),
+ 'ER' =>
+ array (
+ 'AN' => 'Ansabā',
+ 'DK' => 'Janūbī al Baḩrī al Aḩmar',
+ 'DU' => 'Al Janūbī',
+ 'GB' => 'Qāsh-Barkah',
+ 'MA' => 'Al Awsaţ',
+ 'SK' => 'Shimālī al Baḩrī al Aḩmar',
+ ),
+ 'ES' =>
+ array (
+ 'A' => 'Alicante',
+ 'AB' => 'Albacete',
+ 'AL' => 'Almería',
+ 'AN' => 'Andalucía',
+ 'AR' => 'Aragón',
+ 'AS' => 'Asturias, Principado de',
+ 'AV' => 'Ávila',
+ 'B' => 'Barcelona',
+ 'BA' => 'Badajoz',
+ 'BI' => 'Bizkaia',
+ 'BU' => 'Burgos',
+ 'C' => 'A Coruña',
+ 'CA' => 'Cádiz',
+ 'CB' => 'Cantabria',
+ 'CC' => 'Cáceres',
+ 'CE' => 'Ceuta',
+ 'CL' => 'Castilla y León',
+ 'CM' => 'Castilla-La Mancha',
+ 'CN' => 'Canarias',
+ 'CO' => 'Córdoba',
+ 'CR' => 'Ciudad Real',
+ 'CS' => 'Castellón',
+ 'CT' => 'Catalunya',
+ 'CU' => 'Cuenca',
+ 'EX' => 'Extremadura',
+ 'GA' => 'Galicia',
+ 'GC' => 'Las Palmas',
+ 'GI' => 'Girona',
+ 'GR' => 'Granada',
+ 'GU' => 'Guadalajara',
+ 'H' => 'Huelva',
+ 'HU' => 'Huesca',
+ 'IB' => 'Illes Balears',
+ 'J' => 'Jaén',
+ 'L' => 'Lleida',
+ 'LE' => 'León',
+ 'LO' => 'La Rioja',
+ 'LU' => 'Lugo',
+ 'M' => 'Madrid',
+ 'MA' => 'Málaga',
+ 'MC' => 'Murcia, Región de',
+ 'MD' => 'Madrid, Comunidad de',
+ 'ML' => 'Melilla',
+ 'MU' => 'Murcia',
+ 'NA' => 'Navarra / Nafarroa',
+ 'NC' => 'Navarra, Comunidad Foral de / Nafarroako Foru Komunitatea',
+ 'O' => 'Asturias',
+ 'OR' => 'Ourense',
+ 'P' => 'Palencia',
+ 'PM' => 'Balears',
+ 'PO' => 'Pontevedra',
+ 'PV' => 'País Vasco / Euskal Herria',
+ 'RI' => 'La Rioja',
+ 'S' => 'Cantabria',
+ 'SA' => 'Salamanca',
+ 'SE' => 'Sevilla',
+ 'SG' => 'Segovia',
+ 'SO' => 'Soria',
+ 'SS' => 'Gipuzkoa',
+ 'T' => 'Tarragona',
+ 'TE' => 'Teruel',
+ 'TF' => 'Santa Cruz de Tenerife',
+ 'TO' => 'Toledo',
+ 'V' => 'Valencia / València',
+ 'VA' => 'Valladolid',
+ 'VC' => 'Valenciana, Comunidad / Valenciana, Comunitat',
+ 'VI' => 'Álava',
+ 'Z' => 'Zaragoza',
+ 'ZA' => 'Zamora',
+ ),
+ 'ET' =>
+ array (
+ 'AA' => 'Ādīs Ābeba',
+ 'AF' => 'Āfar',
+ 'AM' => 'Āmara',
+ 'BE' => 'Bīnshangul Gumuz',
+ 'DD' => 'Dirē Dawa',
+ 'GA' => 'Gambēla Hizboch',
+ 'HA' => 'Hārerī Hizb',
+ 'OR' => 'Oromīya',
+ 'SN' => 'YeDebub Bihēroch Bihēreseboch na Hizboch',
+ 'SO' => 'Sumalē',
+ 'TI' => 'Tigray',
+ ),
+ 'FI' =>
+ array (
+ '01' => 'Ahvenanmaan maakunta',
+ '02' => 'Etelä-Karjala',
+ '03' => 'Etelä-Pohjanmaa',
+ '04' => 'Etelä-Savo',
+ '05' => 'Kainuu',
+ '06' => 'Kanta-Häme',
+ '07' => 'Keski-Pohjanmaa',
+ '08' => 'Keski-Suomi',
+ '09' => 'Kymenlaakso',
+ 10 => 'Lappi',
+ 11 => 'Pirkanmaa',
+ 12 => 'Pohjanmaa',
+ 13 => 'Pohjois-Karjala',
+ 14 => 'Pohjois-Pohjanmaa',
+ 15 => 'Pohjois-Savo',
+ 16 => 'Päijät-Häme',
+ 17 => 'Satakunta',
+ 18 => 'Uusimaa',
+ 19 => 'Varsinais-Suomi',
+ ),
+ 'FJ' =>
+ array (
+ 'C' => 'Central',
+ 'E' => 'Eastern',
+ 'N' => 'Northern',
+ 'R' => 'Rotuma',
+ 'W' => 'Western',
+ ),
+ 'FM' =>
+ array (
+ 'KSA' => 'Kosrae',
+ 'PNI' => 'Pohnpei',
+ 'TRK' => 'Chuuk',
+ 'YAP' => 'Yap',
+ ),
+ 'FR' =>
+ array (
+ '01' => 'Ain',
+ '02' => 'Aisne',
+ '03' => 'Allier',
+ '04' => 'Alpes-de-Haute-Provence',
+ '05' => 'Hautes-Alpes',
+ '06' => 'Alpes-Maritimes',
+ '07' => 'Ardèche',
+ '08' => 'Ardennes',
+ '09' => 'Ariège',
+ 10 => 'Aube',
+ 11 => 'Aude',
+ 12 => 'Aveyron',
+ 13 => 'Bouches-du-Rhône',
+ 14 => 'Calvados',
+ 15 => 'Cantal',
+ 16 => 'Charente',
+ 17 => 'Charente-Maritime',
+ 18 => 'Cher',
+ 19 => 'Corrèze',
+ 21 => 'Côte-d\'Or',
+ 22 => 'Côtes-d\'Armor',
+ 23 => 'Creuse',
+ 24 => 'Dordogne',
+ 25 => 'Doubs',
+ 26 => 'Drôme',
+ 27 => 'Eure',
+ 28 => 'Eure-et-Loir',
+ 29 => 'Finistère',
+ '2A' => 'Corse-du-Sud',
+ '2B' => 'Haute-Corse',
+ 30 => 'Gard',
+ 31 => 'Haute-Garonne',
+ 32 => 'Gers',
+ 33 => 'Gironde',
+ 34 => 'Hérault',
+ 35 => 'Ille-et-Vilaine',
+ 36 => 'Indre',
+ 37 => 'Indre-et-Loire',
+ 38 => 'Isère',
+ 39 => 'Jura',
+ 40 => 'Landes',
+ 41 => 'Loir-et-Cher',
+ 42 => 'Loire',
+ 43 => 'Haute-Loire',
+ 44 => 'Loire-Atlantique',
+ 45 => 'Loiret',
+ 46 => 'Lot',
+ 47 => 'Lot-et-Garonne',
+ 48 => 'Lozère',
+ 49 => 'Maine-et-Loire',
+ 50 => 'Manche',
+ 51 => 'Marne',
+ 52 => 'Haute-Marne',
+ 53 => 'Mayenne',
+ 54 => 'Meurthe-et-Moselle',
+ 55 => 'Meuse',
+ 56 => 'Morbihan',
+ 57 => 'Moselle',
+ 58 => 'Nièvre',
+ 59 => 'Nord',
+ 60 => 'Oise',
+ 61 => 'Orne',
+ 62 => 'Pas-de-Calais',
+ 63 => 'Puy-de-Dôme',
+ 64 => 'Pyrénées-Atlantiques',
+ 65 => 'Hautes-Pyrénées',
+ 66 => 'Pyrénées-Orientales',
+ 67 => 'Bas-Rhin',
+ 68 => 'Haut-Rhin',
+ 69 => 'Rhône',
+ 70 => 'Haute-Saône',
+ 71 => 'Saône-et-Loire',
+ 72 => 'Sarthe',
+ 73 => 'Savoie',
+ 74 => 'Haute-Savoie',
+ 75 => 'Paris',
+ 76 => 'Seine-Maritime',
+ 77 => 'Seine-et-Marne',
+ 78 => 'Yvelines',
+ 79 => 'Deux-Sèvres',
+ 80 => 'Somme',
+ 81 => 'Tarn',
+ 82 => 'Tarn-et-Garonne',
+ 83 => 'Var',
+ 84 => 'Vaucluse',
+ 85 => 'Vendée',
+ 86 => 'Vienne',
+ 87 => 'Haute-Vienne',
+ 88 => 'Vosges',
+ 89 => 'Yonne',
+ 90 => 'Territoire de Belfort',
+ 91 => 'Essonne',
+ 92 => 'Hauts-de-Seine',
+ 93 => 'Seine-Saint-Denis',
+ 94 => 'Val-de-Marne',
+ 95 => 'Val-d\'Oise',
+ 'ARA' => 'Auvergne-Rhône-Alpes',
+ 'BFC' => 'Bourgogne-Franche-Comté',
+ 'BL' => 'Saint-Barthélemy',
+ 'BRE' => 'Bretagne',
+ 'COR' => 'Corse',
+ 'CP' => 'Clipperton',
+ 'CVL' => 'Centre-Val de Loire',
+ 'GES' => 'Grand-Est',
+ 'GF' => 'Guyane (française)',
+ 'GP' => 'Guadeloupe',
+ 'GUA' => 'Guadeloupe',
+ 'HDF' => 'Hauts-de-France',
+ 'IDF' => 'Île-de-France',
+ 'LRE' => 'La Réunion',
+ 'MAY' => 'Mayotte',
+ 'MF' => 'Saint-Martin',
+ 'MQ' => 'Martinique',
+ 'NAQ' => 'Nouvelle-Aquitaine',
+ 'NC' => 'Nouvelle-Calédonie',
+ 'NOR' => 'Normandie',
+ 'OCC' => 'Occitanie',
+ 'PAC' => 'Provence-Alpes-Côte-d’Azur',
+ 'PDL' => 'Pays-de-la-Loire',
+ 'PF' => 'Polynésie française',
+ 'PM' => 'Saint-Pierre-et-Miquelon',
+ 'RE' => 'La Réunion',
+ 'TF' => 'Terres australes françaises',
+ 'WF' => 'Wallis-et-Futuna',
+ 'YT' => 'Mayotte',
+ ),
+ 'GA' =>
+ array (
+ 1 => 'Estuaire',
+ 2 => 'Haut-Ogooué',
+ 3 => 'Moyen-Ogooué',
+ 4 => 'Ngounié',
+ 5 => 'Nyanga',
+ 6 => 'Ogooué-Ivindo',
+ 7 => 'Ogooué-Lolo',
+ 8 => 'Ogooué-Maritime',
+ 9 => 'Woleu-Ntem',
+ ),
+ 'GB' =>
+ array (
+ 'ABC' => 'Armagh, Banbridge and Craigavon',
+ 'ABD' => 'Aberdeenshire',
+ 'ABE' => 'Aberdeen City',
+ 'AGB' => 'Argyll and Bute',
+ 'AGY' => 'Isle of Anglesey; Sir Ynys Môn',
+ 'AND' => 'Ards and North Down',
+ 'ANN' => 'Antrim and Newtownabbey',
+ 'ANS' => 'Angus',
+ 'BAS' => 'Bath and North East Somerset',
+ 'BBD' => 'Blackburn with Darwen',
+ 'BDF' => 'Bedford',
+ 'BDG' => 'Barking and Dagenham',
+ 'BEN' => 'Brent',
+ 'BEX' => 'Bexley',
+ 'BFS' => 'Belfast',
+ 'BGE' => 'Bridgend; Pen-y-bont ar Ogwr',
+ 'BGW' => 'Blaenau Gwent',
+ 'BIR' => 'Birmingham',
+ 'BKM' => 'Buckinghamshire',
+ 'BMH' => 'Bournemouth',
+ 'BNE' => 'Barnet',
+ 'BNH' => 'Brighton and Hove',
+ 'BNS' => 'Barnsley',
+ 'BOL' => 'Bolton',
+ 'BPL' => 'Blackpool',
+ 'BRC' => 'Bracknell Forest',
+ 'BRD' => 'Bradford',
+ 'BRY' => 'Bromley',
+ 'BST' => 'Bristol, City of',
+ 'BUR' => 'Bury',
+ 'CAM' => 'Cambridgeshire',
+ 'CAY' => 'Caerphilly; Caerffili',
+ 'CBF' => 'Central Bedfordshire',
+ 'CCG' => 'Causeway Coast and Glens',
+ 'CGN' => 'Ceredigion; Sir Ceredigion',
+ 'CHE' => 'Cheshire East',
+ 'CHW' => 'Cheshire West and Chester',
+ 'CLD' => 'Calderdale',
+ 'CLK' => 'Clackmannanshire',
+ 'CMA' => 'Cumbria',
+ 'CMD' => 'Camden',
+ 'CMN' => 'Carmarthenshire; Sir Gaerfyrddin',
+ 'CON' => 'Cornwall',
+ 'COV' => 'Coventry',
+ 'CRF' => 'Cardiff; Caerdydd',
+ 'CRY' => 'Croydon',
+ 'CWY' => 'Conwy',
+ 'DAL' => 'Darlington',
+ 'DBY' => 'Derbyshire',
+ 'DEN' => 'Denbighshire; Sir Ddinbych',
+ 'DER' => 'Derby',
+ 'DEV' => 'Devon',
+ 'DGY' => 'Dumfries and Galloway',
+ 'DNC' => 'Doncaster',
+ 'DND' => 'Dundee City',
+ 'DOR' => 'Dorset',
+ 'DRS' => 'Derry and Strabane',
+ 'DUD' => 'Dudley',
+ 'DUR' => 'Durham County',
+ 'EAL' => 'Ealing',
+ 'EAW' => 'England and Wales',
+ 'EAY' => 'East Ayrshire',
+ 'EDH' => 'Edinburgh, City of',
+ 'EDU' => 'East Dunbartonshire',
+ 'ELN' => 'East Lothian',
+ 'ELS' => 'Eilean Siar',
+ 'ENF' => 'Enfield',
+ 'ENG' => 'England',
+ 'ERW' => 'East Renfrewshire',
+ 'ERY' => 'East Riding of Yorkshire',
+ 'ESS' => 'Essex',
+ 'ESX' => 'East Sussex',
+ 'FAL' => 'Falkirk',
+ 'FIF' => 'Fife',
+ 'FLN' => 'Flintshire; Sir y Fflint',
+ 'FMO' => 'Fermanagh and Omagh',
+ 'GAT' => 'Gateshead',
+ 'GBN' => 'Great Britain',
+ 'GLG' => 'Glasgow City',
+ 'GLS' => 'Gloucestershire',
+ 'GRE' => 'Greenwich',
+ 'GWN' => 'Gwynedd',
+ 'HAL' => 'Halton',
+ 'HAM' => 'Hampshire',
+ 'HAV' => 'Havering',
+ 'HCK' => 'Hackney',
+ 'HEF' => 'Herefordshire',
+ 'HIL' => 'Hillingdon',
+ 'HLD' => 'Highland',
+ 'HMF' => 'Hammersmith and Fulham',
+ 'HNS' => 'Hounslow',
+ 'HPL' => 'Hartlepool',
+ 'HRT' => 'Hertfordshire',
+ 'HRW' => 'Harrow',
+ 'HRY' => 'Haringey',
+ 'IOS' => 'Isles of Scilly',
+ 'IOW' => 'Isle of Wight',
+ 'ISL' => 'Islington',
+ 'IVC' => 'Inverclyde',
+ 'KEC' => 'Kensington and Chelsea',
+ 'KEN' => 'Kent',
+ 'KHL' => 'Kingston upon Hull',
+ 'KIR' => 'Kirklees',
+ 'KTT' => 'Kingston upon Thames',
+ 'KWL' => 'Knowsley',
+ 'LAN' => 'Lancashire',
+ 'LBC' => 'Lisburn and Castlereagh',
+ 'LBH' => 'Lambeth',
+ 'LCE' => 'Leicester',
+ 'LDS' => 'Leeds',
+ 'LEC' => 'Leicestershire',
+ 'LEW' => 'Lewisham',
+ 'LIN' => 'Lincolnshire',
+ 'LIV' => 'Liverpool',
+ 'LND' => 'London, City of',
+ 'LUT' => 'Luton',
+ 'MAN' => 'Manchester',
+ 'MDB' => 'Middlesbrough',
+ 'MDW' => 'Medway',
+ 'MEA' => 'Mid and East Antrim',
+ 'MIK' => 'Milton Keynes',
+ 'MLN' => 'Midlothian',
+ 'MON' => 'Monmouthshire; Sir Fynwy',
+ 'MRT' => 'Merton',
+ 'MRY' => 'Moray',
+ 'MTY' => 'Merthyr Tydfil; Merthyr Tudful',
+ 'MUL' => 'Mid Ulster',
+ 'NAY' => 'North Ayrshire',
+ 'NBL' => 'Northumberland',
+ 'NEL' => 'North East Lincolnshire',
+ 'NET' => 'Newcastle upon Tyne',
+ 'NFK' => 'Norfolk',
+ 'NGM' => 'Nottingham',
+ 'NIR' => 'Northern Ireland',
+ 'NLK' => 'North Lanarkshire',
+ 'NLN' => 'North Lincolnshire',
+ 'NMD' => 'Newry, Mourne and Down',
+ 'NSM' => 'North Somerset',
+ 'NTH' => 'Northamptonshire',
+ 'NTL' => 'Neath Port Talbot; Castell-nedd Port Talbot',
+ 'NTT' => 'Nottinghamshire',
+ 'NTY' => 'North Tyneside',
+ 'NWM' => 'Newham',
+ 'NWP' => 'Newport; Casnewydd',
+ 'NYK' => 'North Yorkshire',
+ 'OLD' => 'Oldham',
+ 'ORK' => 'Orkney Islands',
+ 'OXF' => 'Oxfordshire',
+ 'PEM' => 'Pembrokeshire; Sir Benfro',
+ 'PKN' => 'Perth and Kinross',
+ 'PLY' => 'Plymouth',
+ 'POL' => 'Poole',
+ 'POR' => 'Portsmouth',
+ 'POW' => 'Powys',
+ 'PTE' => 'Peterborough',
+ 'RCC' => 'Redcar and Cleveland',
+ 'RCH' => 'Rochdale',
+ 'RCT' => 'Rhondda, Cynon, Taff; Rhondda, Cynon, Taf',
+ 'RDB' => 'Redbridge',
+ 'RDG' => 'Reading',
+ 'RFW' => 'Renfrewshire',
+ 'RIC' => 'Richmond upon Thames',
+ 'ROT' => 'Rotherham',
+ 'RUT' => 'Rutland',
+ 'SAW' => 'Sandwell',
+ 'SAY' => 'South Ayrshire',
+ 'SCB' => 'Scottish Borders, The',
+ 'SCT' => 'Scotland',
+ 'SFK' => 'Suffolk',
+ 'SFT' => 'Sefton',
+ 'SGC' => 'South Gloucestershire',
+ 'SHF' => 'Sheffield',
+ 'SHN' => 'St. Helens',
+ 'SHR' => 'Shropshire',
+ 'SKP' => 'Stockport',
+ 'SLF' => 'Salford',
+ 'SLG' => 'Slough',
+ 'SLK' => 'South Lanarkshire',
+ 'SND' => 'Sunderland',
+ 'SOL' => 'Solihull',
+ 'SOM' => 'Somerset',
+ 'SOS' => 'Southend-on-Sea',
+ 'SRY' => 'Surrey',
+ 'STE' => 'Stoke-on-Trent',
+ 'STG' => 'Stirling',
+ 'STH' => 'Southampton',
+ 'STN' => 'Sutton',
+ 'STS' => 'Staffordshire',
+ 'STT' => 'Stockton-on-Tees',
+ 'STY' => 'South Tyneside',
+ 'SWA' => 'Swansea; Abertawe',
+ 'SWD' => 'Swindon',
+ 'SWK' => 'Southwark',
+ 'TAM' => 'Tameside',
+ 'TFW' => 'Telford and Wrekin',
+ 'THR' => 'Thurrock',
+ 'TOB' => 'Torbay',
+ 'TOF' => 'Torfaen; Tor-faen',
+ 'TRF' => 'Trafford',
+ 'TWH' => 'Tower Hamlets',
+ 'UKM' => 'United Kingdom',
+ 'VGL' => 'Vale of Glamorgan, The; Bro Morgannwg',
+ 'WAR' => 'Warwickshire',
+ 'WBK' => 'West Berkshire',
+ 'WDU' => 'West Dunbartonshire',
+ 'WFT' => 'Waltham Forest',
+ 'WGN' => 'Wigan',
+ 'WIL' => 'Wiltshire',
+ 'WKF' => 'Wakefield',
+ 'WLL' => 'Walsall',
+ 'WLN' => 'West Lothian',
+ 'WLS' => 'Wales; Cymru',
+ 'WLV' => 'Wolverhampton',
+ 'WND' => 'Wandsworth',
+ 'WNM' => 'Windsor and Maidenhead',
+ 'WOK' => 'Wokingham',
+ 'WOR' => 'Worcestershire',
+ 'WRL' => 'Wirral',
+ 'WRT' => 'Warrington',
+ 'WRX' => 'Wrexham; Wrecsam',
+ 'WSM' => 'Westminster',
+ 'WSX' => 'West Sussex',
+ 'YOR' => 'York',
+ 'ZET' => 'Shetland Islands',
+ ),
+ 'GD' =>
+ array (
+ '01' => 'Saint Andrew',
+ '02' => 'Saint David',
+ '03' => 'Saint George',
+ '04' => 'Saint John',
+ '05' => 'Saint Mark',
+ '06' => 'Saint Patrick',
+ 10 => 'Southern Grenadine Islands',
+ ),
+ 'GE' =>
+ array (
+ 'AB' => 'Abkhazia',
+ 'AJ' => 'Ajaria',
+ 'GU' => 'Guria',
+ 'IM' => 'Imeret’i',
+ 'KA' => 'Kakhet’i',
+ 'KK' => 'K’vemo K’art’li',
+ 'MM' => 'Mts’khet’a-Mt’ianet’i',
+ 'RL' => 'Racha-Lech’khumi-K’vemo Svanet’i',
+ 'SJ' => 'Samts’khe-Javakhet’i',
+ 'SK' => 'Shida K’art’li',
+ 'SZ' => 'Samegrelo-Zemo Svanet’i',
+ 'TB' => 'T’bilisi',
+ ),
+ 'GH' =>
+ array (
+ 'AA' => 'Greater Accra',
+ 'AH' => 'Ashanti',
+ 'BA' => 'Brong-Ahafo',
+ 'CP' => 'Central',
+ 'EP' => 'Eastern',
+ 'NP' => 'Northern',
+ 'TV' => 'Volta',
+ 'UE' => 'Upper East',
+ 'UW' => 'Upper West',
+ 'WP' => 'Western',
+ ),
+ 'GL' =>
+ array (
+ 'KU' => 'Kommune Kujalleq',
+ 'QA' => 'Qaasuitsup Kommunia',
+ 'QE' => 'Qeqqata Kommunia',
+ 'SM' => 'Kommuneqarfik Sermersooq',
+ ),
+ 'GM' =>
+ array (
+ 'B' => 'Banjul',
+ 'L' => 'Lower River',
+ 'M' => 'Central River',
+ 'N' => 'North Bank',
+ 'U' => 'Upper River',
+ 'W' => 'Western',
+ ),
+ 'GN' =>
+ array (
+ 'B' => 'Boké',
+ 'BE' => 'Beyla',
+ 'BF' => 'Boffa',
+ 'BK' => 'Boké',
+ 'C' => 'Conakry',
+ 'CO' => 'Coyah',
+ 'D' => 'Kindia',
+ 'DB' => 'Dabola',
+ 'DI' => 'Dinguiraye',
+ 'DL' => 'Dalaba',
+ 'DU' => 'Dubréka',
+ 'F' => 'Faranah',
+ 'FA' => 'Faranah',
+ 'FO' => 'Forécariah',
+ 'FR' => 'Fria',
+ 'GA' => 'Gaoual',
+ 'GU' => 'Guékédou',
+ 'K' => 'Kankan',
+ 'KA' => 'Kankan',
+ 'KB' => 'Koubia',
+ 'KD' => 'Kindia',
+ 'KE' => 'Kérouané',
+ 'KN' => 'Koundara',
+ 'KO' => 'Kouroussa',
+ 'KS' => 'Kissidougou',
+ 'L' => 'Labé',
+ 'LA' => 'Labé',
+ 'LE' => 'Lélouma',
+ 'LO' => 'Lola',
+ 'M' => 'Mamou',
+ 'MC' => 'Macenta',
+ 'MD' => 'Mandiana',
+ 'ML' => 'Mali',
+ 'MM' => 'Mamou',
+ 'N' => 'Nzérékoré',
+ 'NZ' => 'Nzérékoré',
+ 'PI' => 'Pita',
+ 'SI' => 'Siguiri',
+ 'TE' => 'Télimélé',
+ 'TO' => 'Tougué',
+ 'YO' => 'Yomou',
+ ),
+ 'GQ' =>
+ array (
+ 'AN' => 'Annobón',
+ 'BN' => 'Bioko Norte',
+ 'BS' => 'Bioko Sur',
+ 'C' => 'Región Continental',
+ 'CS' => 'Centro Sur',
+ 'I' => 'Región Insular',
+ 'KN' => 'Kié-Ntem',
+ 'LI' => 'Litoral',
+ 'WN' => 'Wele-Nzas',
+ ),
+ 'GR' =>
+ array (
+ '01' => 'Aitolia kai Akarnania',
+ '03' => 'Voiotia',
+ '04' => 'Evvoias',
+ '05' => 'Evrytania',
+ '06' => 'Fthiotida',
+ '07' => 'Fokida',
+ 11 => 'Argolida',
+ 12 => 'Arkadia',
+ 13 => 'Achaïa',
+ 14 => 'Ileia',
+ 15 => 'Korinthia',
+ 16 => 'Lakonia',
+ 17 => 'Messinia',
+ 21 => 'Zakynthos',
+ 22 => 'Kerkyra',
+ 23 => 'Kefallonia',
+ 24 => 'Lefkada',
+ 31 => 'Arta',
+ 32 => 'Thesprotia',
+ 33 => 'Ioannina',
+ 34 => 'Preveza',
+ 41 => 'Karditsa',
+ 42 => 'Larisa',
+ 43 => 'Magnisia',
+ 44 => 'Trikala',
+ 51 => 'Grevena',
+ 52 => 'Drama',
+ 53 => 'Imathia',
+ 54 => 'Thessaloniki',
+ 55 => 'Kavala',
+ 56 => 'Kastoria',
+ 57 => 'Kilkis',
+ 58 => 'Kozani',
+ 59 => 'Pella',
+ 61 => 'Pieria',
+ 62 => 'Serres',
+ 63 => 'Florina',
+ 64 => 'Chalkidiki',
+ 69 => 'Agio Oros',
+ 71 => 'Evros',
+ 72 => 'Xanthi',
+ 73 => 'Rodopi',
+ 81 => 'Dodekanisos',
+ 82 => 'Kyklades',
+ 83 => 'Lesvos',
+ 84 => 'Samos',
+ 85 => 'Chios',
+ 91 => 'Irakleio',
+ 92 => 'Lasithi',
+ 93 => 'Rethymno',
+ 94 => 'Chania',
+ 'A' => 'Anatoliki Makedonia kai Thraki',
+ 'A1' => 'Attiki',
+ 'B' => 'Kentriki Makedonia',
+ 'C' => 'Dytiki Makedonia',
+ 'D' => 'Ipeiros',
+ 'E' => 'Thessalia',
+ 'F' => 'Ionia Nisia',
+ 'G' => 'Dytiki Ellada',
+ 'H' => 'Sterea Ellada',
+ 'I' => 'Attiki',
+ 'J' => 'Peloponnisos',
+ 'K' => 'Voreio Aigaio',
+ 'L' => 'Notio Aigaio',
+ 'M' => 'Kriti',
+ ),
+ 'GT' =>
+ array (
+ 'AV' => 'Alta Verapaz',
+ 'BV' => 'Baja Verapaz',
+ 'CM' => 'Chimaltenango',
+ 'CQ' => 'Chiquimula',
+ 'ES' => 'Escuintla',
+ 'GU' => 'Guatemala',
+ 'HU' => 'Huehuetenango',
+ 'IZ' => 'Izabal',
+ 'JA' => 'Jalapa',
+ 'JU' => 'Jutiapa',
+ 'PE' => 'Petén',
+ 'PR' => 'El Progreso',
+ 'QC' => 'Quiché',
+ 'QZ' => 'Quetzaltenango',
+ 'RE' => 'Retalhuleu',
+ 'SA' => 'Sacatepéquez',
+ 'SM' => 'San Marcos',
+ 'SO' => 'Sololá',
+ 'SR' => 'Santa Rosa',
+ 'SU' => 'Suchitepéquez',
+ 'TO' => 'Totonicapán',
+ 'ZA' => 'Zacapa',
+ ),
+ 'GW' =>
+ array (
+ 'BA' => 'Bafatá',
+ 'BL' => 'Bolama',
+ 'BM' => 'Biombo',
+ 'BS' => 'Bissau',
+ 'CA' => 'Cacheu',
+ 'GA' => 'Gabú',
+ 'L' => 'Leste',
+ 'N' => 'Norte',
+ 'OI' => 'Oio',
+ 'QU' => 'Quinara',
+ 'S' => 'Sul',
+ 'TO' => 'Tombali',
+ ),
+ 'GY' =>
+ array (
+ 'BA' => 'Barima-Waini',
+ 'CU' => 'Cuyuni-Mazaruni',
+ 'DE' => 'Demerara-Mahaica',
+ 'EB' => 'East Berbice-Corentyne',
+ 'ES' => 'Essequibo Islands-West Demerara',
+ 'MA' => 'Mahaica-Berbice',
+ 'PM' => 'Pomeroon-Supenaam',
+ 'PT' => 'Potaro-Siparuni',
+ 'UD' => 'Upper Demerara-Berbice',
+ 'UT' => 'Upper Takutu-Upper Essequibo',
+ ),
+ 'HN' =>
+ array (
+ 'AT' => 'Atlántida',
+ 'CH' => 'Choluteca',
+ 'CL' => 'Colón',
+ 'CM' => 'Comayagua',
+ 'CP' => 'Copán',
+ 'CR' => 'Cortés',
+ 'EP' => 'El Paraíso',
+ 'FM' => 'Francisco Morazán',
+ 'GD' => 'Gracias a Dios',
+ 'IB' => 'Islas de la Bahía',
+ 'IN' => 'Intibucá',
+ 'LE' => 'Lempira',
+ 'LP' => 'La Paz',
+ 'OC' => 'Ocotepeque',
+ 'OL' => 'Olancho',
+ 'SB' => 'Santa Bárbara',
+ 'VA' => 'Valle',
+ 'YO' => 'Yoro',
+ ),
+ 'HR' =>
+ array (
+ '01' => 'Zagrebačka županija',
+ '02' => 'Krapinsko-zagorska županija',
+ '03' => 'Sisačko-moslavačka županija',
+ '04' => 'Karlovačka županija',
+ '05' => 'Varaždinska županija',
+ '06' => 'Koprivničko-križevačka županija',
+ '07' => 'Bjelovarsko-bilogorska županija',
+ '08' => 'Primorsko-goranska županija',
+ '09' => 'Ličko-senjska županija',
+ 10 => 'Virovitičko-podravska županija',
+ 11 => 'Požeško-slavonska županija',
+ 12 => 'Brodsko-posavska županija',
+ 13 => 'Zadarska županija',
+ 14 => 'Osječko-baranjska županija',
+ 15 => 'Šibensko-kninska županija',
+ 16 => 'Vukovarsko-srijemska županija',
+ 17 => 'Splitsko-dalmatinska županija',
+ 18 => 'Istarska županija',
+ 19 => 'Dubrovačko-neretvanska županija',
+ 20 => 'Međimurska županija',
+ 21 => 'Grad Zagreb',
+ ),
+ 'HT' =>
+ array (
+ 'AR' => 'Artibonite',
+ 'CE' => 'Centre',
+ 'GA' => 'Grande-Anse',
+ 'ND' => 'Nord',
+ 'NE' => 'Nord-Est',
+ 'NI' => 'Nippes',
+ 'NO' => 'Nord-Ouest',
+ 'OU' => 'Ouest',
+ 'SD' => 'Sud',
+ 'SE' => 'Sud-Est',
+ ),
+ 'HU' =>
+ array (
+ 'BA' => 'Baranya',
+ 'BC' => 'Békéscsaba',
+ 'BE' => 'Békés',
+ 'BK' => 'Bács-Kiskun',
+ 'BU' => 'Budapest',
+ 'BZ' => 'Borsod-Abaúj-Zemplén',
+ 'CS' => 'Csongrád',
+ 'DE' => 'Debrecen',
+ 'DU' => 'Dunaújváros',
+ 'EG' => 'Eger',
+ 'ER' => 'Érd',
+ 'FE' => 'Fejér',
+ 'GS' => 'Győr-Moson-Sopron',
+ 'GY' => 'Győr',
+ 'HB' => 'Hajdú-Bihar',
+ 'HE' => 'Heves',
+ 'HV' => 'Hódmezővásárhely',
+ 'JN' => 'Jász-Nagykun-Szolnok',
+ 'KE' => 'Komárom-Esztergom',
+ 'KM' => 'Kecskemét',
+ 'KV' => 'Kaposvár',
+ 'MI' => 'Miskolc',
+ 'NK' => 'Nagykanizsa',
+ 'NO' => 'Nógrád',
+ 'NY' => 'Nyíregyháza',
+ 'PE' => 'Pest',
+ 'PS' => 'Pécs',
+ 'SD' => 'Szeged',
+ 'SF' => 'Székesfehérvár',
+ 'SH' => 'Szombathely',
+ 'SK' => 'Szolnok',
+ 'SN' => 'Sopron',
+ 'SO' => 'Somogy',
+ 'SS' => 'Szekszárd',
+ 'ST' => 'Salgótarján',
+ 'SZ' => 'Szabolcs-Szatmár-Bereg',
+ 'TB' => 'Tatabánya',
+ 'TO' => 'Tolna',
+ 'VA' => 'Vas',
+ 'VE' => 'Veszprém (county)',
+ 'VM' => 'Veszprém',
+ 'ZA' => 'Zala',
+ 'ZE' => 'Zalaegerszeg',
+ ),
+ 'ID' =>
+ array (
+ 'AC' => 'Aceh',
+ 'BA' => 'Bali',
+ 'BB' => 'Bangka Belitung',
+ 'BE' => 'Bengkulu',
+ 'BT' => 'Banten',
+ 'GO' => 'Gorontalo',
+ 'IJ' => 'Papua',
+ 'JA' => 'Jambi',
+ 'JB' => 'Jawa Barat',
+ 'JI' => 'Jawa Timur',
+ 'JK' => 'Jakarta Raya',
+ 'JT' => 'Jawa Tengah',
+ 'JW' => 'Jawa',
+ 'KA' => 'Kalimantan',
+ 'KB' => 'Kalimantan Barat',
+ 'KI' => 'Kalimantan Timur',
+ 'KR' => 'Kepulauan Riau',
+ 'KS' => 'Kalimantan Selatan',
+ 'KT' => 'Kalimantan Tengah',
+ 'LA' => 'Lampung',
+ 'MA' => 'Maluku',
+ 'ML' => 'Maluku',
+ 'MU' => 'Maluku Utara',
+ 'NB' => 'Nusa Tenggara Barat',
+ 'NT' => 'Nusa Tenggara Timur',
+ 'NU' => 'Nusa Tenggara',
+ 'PA' => 'Papua',
+ 'PB' => 'Papua Barat',
+ 'RI' => 'Riau',
+ 'SA' => 'Sulawesi Utara',
+ 'SB' => 'Sumatra Barat',
+ 'SG' => 'Sulawesi Tenggara',
+ 'SL' => 'Sulawesi',
+ 'SM' => 'Sumatera',
+ 'SN' => 'Sulawesi Selatan',
+ 'SR' => 'Sulawesi Barat',
+ 'SS' => 'Sumatra Selatan',
+ 'ST' => 'Sulawesi Tengah',
+ 'SU' => 'Sumatera Utara',
+ 'YO' => 'Yogyakarta',
+ ),
+ 'IE' =>
+ array (
+ 'C' => 'Connacht',
+ 'CE' => 'Clare',
+ 'CN' => 'Cavan',
+ 'CO' => 'Cork',
+ 'CW' => 'Carlow',
+ 'D' => 'Dublin',
+ 'DL' => 'Donegal',
+ 'G' => 'Galway',
+ 'KE' => 'Kildare',
+ 'KK' => 'Kilkenny',
+ 'KY' => 'Kerry',
+ 'L' => 'Leinster',
+ 'LD' => 'Longford',
+ 'LH' => 'Louth',
+ 'LK' => 'Limerick',
+ 'LM' => 'Leitrim',
+ 'LS' => 'Laois',
+ 'M' => 'Munster',
+ 'MH' => 'Meath',
+ 'MN' => 'Monaghan',
+ 'MO' => 'Mayo',
+ 'OY' => 'Offaly',
+ 'RN' => 'Roscommon',
+ 'SO' => 'Sligo',
+ 'TA' => 'Tipperary',
+ 'U' => 'Ulster',
+ 'WD' => 'Waterford',
+ 'WH' => 'Westmeath',
+ 'WW' => 'Wicklow',
+ 'WX' => 'Wexford',
+ ),
+ 'IL' =>
+ array (
+ 'D' => 'HaDarom',
+ 'HA' => 'Hefa',
+ 'JM' => 'Yerushalayim Al Quds',
+ 'M' => 'HaMerkaz',
+ 'TA' => 'Tel-Aviv',
+ 'Z' => 'HaZafon',
+ ),
+ 'IN' =>
+ array (
+ 'AN' => 'Andaman and Nicobar Islands',
+ 'AP' => 'Andhra Pradesh',
+ 'AR' => 'Arunachal Pradesh',
+ 'AS' => 'Assam',
+ 'BR' => 'Bihar',
+ 'CH' => 'Chandigarh',
+ 'CT' => 'Chhattisgarh',
+ 'DD' => 'Damen and Diu',
+ 'DL' => 'Delhi',
+ 'DN' => 'Dadra and Nagar Haveli',
+ 'GA' => 'Goa',
+ 'GJ' => 'Gujarat',
+ 'HP' => 'Himachal Pradesh',
+ 'HR' => 'Haryana',
+ 'JH' => 'Jharkhand',
+ 'JK' => 'Jammu and Kashmir',
+ 'KA' => 'Karnataka',
+ 'KL' => 'Kerala',
+ 'LD' => 'Lakshadweep',
+ 'MH' => 'Maharashtra',
+ 'ML' => 'Meghalaya',
+ 'MN' => 'Manipur',
+ 'MP' => 'Madhya Pradesh',
+ 'MZ' => 'Mizoram',
+ 'NL' => 'Nagaland',
+ 'OR' => 'Orissa',
+ 'PB' => 'Punjab',
+ 'PY' => 'Puducherry',
+ 'RJ' => 'Rajasthan',
+ 'SK' => 'Sikkim',
+ 'TN' => 'Tamil Nadu',
+ 'TR' => 'Tripura',
+ 'UP' => 'Uttar Pradesh',
+ 'UT' => 'Uttarakhand',
+ 'WB' => 'West Bengal',
+ ),
+ 'IQ' =>
+ array (
+ 'AN' => 'Al Anbar',
+ 'AR' => 'Arbil',
+ 'BA' => 'Al Basrah',
+ 'BB' => 'Babil',
+ 'BG' => 'Baghdad',
+ 'DA' => 'Dahuk',
+ 'DI' => 'Diyala',
+ 'DQ' => 'Dhi Qar',
+ 'KA' => 'Karbala\'',
+ 'KI' => 'Kirkūk',
+ 'MA' => 'Maysan',
+ 'MU' => 'Al Muthanna',
+ 'NA' => 'An Najef',
+ 'NI' => 'Ninawa',
+ 'QA' => 'Al Qadisiyah',
+ 'SD' => 'Salah ad Din',
+ 'SU' => 'As Sulaymaniyah',
+ 'TS' => 'At Ta\'mim',
+ 'WA' => 'Wasit',
+ ),
+ 'IR' =>
+ array (
+ '01' => 'Āzarbāyjān-e Sharqī',
+ '02' => 'Āzarbāyjān-e Gharbī',
+ '03' => 'Ardabīl',
+ '04' => 'Eşfahān',
+ '05' => 'Īlām',
+ '06' => 'Būshehr',
+ '07' => 'Tehrān',
+ '08' => 'Chahār Mahāll va Bakhtīārī',
+ 10 => 'Khūzestān',
+ 11 => 'Zanjān',
+ 12 => 'Semnān',
+ 13 => 'Sīstān va Balūchestān',
+ 14 => 'Fārs',
+ 15 => 'Kermān',
+ 16 => 'Kordestān',
+ 17 => 'Kermānshāh',
+ 18 => 'Kohgīlūyeh va Būyer Ahmad',
+ 19 => 'Gīlān',
+ 20 => 'Lorestān',
+ 21 => 'Māzandarān',
+ 22 => 'Markazī',
+ 23 => 'Hormozgān',
+ 24 => 'Hamadān',
+ 25 => 'Yazd',
+ 26 => 'Qom',
+ 27 => 'Golestān',
+ 28 => 'Qazvīn',
+ 29 => 'Khorāsān-e Janūbī',
+ 30 => 'Khorāsān-e Razavī',
+ 31 => 'Khorāsān-e Shemālī',
+ 32 => 'Alborz',
+ ),
+ 'IS' =>
+ array (
+ 0 => 'Reykjavík',
+ 1 => 'Höfuðborgarsvæðið',
+ 2 => 'Suðurnes',
+ 3 => 'Vesturland',
+ 4 => 'Vestfirðir',
+ 5 => 'Norðurland vestra',
+ 6 => 'Norðurland eystra',
+ 7 => 'Austurland',
+ 8 => 'Suðurland',
+ ),
+ 'IT' =>
+ array (
+ 21 => 'Piemonte',
+ 23 => 'Valle d\'Aosta',
+ 25 => 'Lombardia',
+ 32 => 'Trentino-Alto Adige',
+ 34 => 'Veneto',
+ 36 => 'Friuli-Venezia Giulia',
+ 42 => 'Liguria',
+ 45 => 'Emilia-Romagna',
+ 52 => 'Toscana',
+ 55 => 'Umbria',
+ 57 => 'Marche',
+ 62 => 'Lazio',
+ 65 => 'Abruzzo',
+ 67 => 'Molise',
+ 72 => 'Campania',
+ 75 => 'Puglia',
+ 77 => 'Basilicata',
+ 78 => 'Calabria',
+ 82 => 'Sicilia',
+ 88 => 'Sardegna',
+ 'AG' => 'Agrigento',
+ 'AL' => 'Alessandria',
+ 'AN' => 'Ancona',
+ 'AO' => 'Aosta',
+ 'AP' => 'Ascoli Piceno',
+ 'AQ' => 'L\'Aquila',
+ 'AR' => 'Arezzo',
+ 'AT' => 'Asti',
+ 'AV' => 'Avellino',
+ 'BA' => 'Bari',
+ 'BG' => 'Bergamo',
+ 'BI' => 'Biella',
+ 'BL' => 'Belluno',
+ 'BN' => 'Benevento',
+ 'BO' => 'Bologna',
+ 'BR' => 'Brindisi',
+ 'BS' => 'Brescia',
+ 'BT' => 'Barletta-Andria-Trani',
+ 'BZ' => 'Bolzano',
+ 'CA' => 'Cagliari',
+ 'CB' => 'Campobasso',
+ 'CE' => 'Caserta',
+ 'CH' => 'Chieti',
+ 'CI' => 'Carbonia-Iglesias',
+ 'CL' => 'Caltanissetta',
+ 'CN' => 'Cuneo',
+ 'CO' => 'Como',
+ 'CR' => 'Cremona',
+ 'CS' => 'Cosenza',
+ 'CT' => 'Catania',
+ 'CZ' => 'Catanzaro',
+ 'EN' => 'Enna',
+ 'FC' => 'Forlì-Cesena',
+ 'FE' => 'Ferrara',
+ 'FG' => 'Foggia',
+ 'FI' => 'Firenze',
+ 'FM' => 'Fermo',
+ 'FR' => 'Frosinone',
+ 'GE' => 'Genova',
+ 'GO' => 'Gorizia',
+ 'GR' => 'Grosseto',
+ 'IM' => 'Imperia',
+ 'IS' => 'Isernia',
+ 'KR' => 'Crotone',
+ 'LC' => 'Lecco',
+ 'LE' => 'Lecce',
+ 'LI' => 'Livorno',
+ 'LO' => 'Lodi',
+ 'LT' => 'Latina',
+ 'LU' => 'Lucca',
+ 'MB' => 'Monza e Brianza',
+ 'MC' => 'Macerata',
+ 'ME' => 'Messina',
+ 'MI' => 'Milano',
+ 'MN' => 'Mantova',
+ 'MO' => 'Modena',
+ 'MS' => 'Massa-Carrara',
+ 'MT' => 'Matera',
+ 'NA' => 'Napoli',
+ 'NO' => 'Novara',
+ 'NU' => 'Nuoro',
+ 'OG' => 'Ogliastra',
+ 'OR' => 'Oristano',
+ 'OT' => 'Olbia-Tempio',
+ 'PA' => 'Palermo',
+ 'PC' => 'Piacenza',
+ 'PD' => 'Padova',
+ 'PE' => 'Pescara',
+ 'PG' => 'Perugia',
+ 'PI' => 'Pisa',
+ 'PN' => 'Pordenone',
+ 'PO' => 'Prato',
+ 'PR' => 'Parma',
+ 'PT' => 'Pistoia',
+ 'PU' => 'Pesaro e Urbino',
+ 'PV' => 'Pavia',
+ 'PZ' => 'Potenza',
+ 'RA' => 'Ravenna',
+ 'RC' => 'Reggio Calabria',
+ 'RE' => 'Reggio Emilia',
+ 'RG' => 'Ragusa',
+ 'RI' => 'Rieti',
+ 'RM' => 'Roma',
+ 'RN' => 'Rimini',
+ 'RO' => 'Rovigo',
+ 'SA' => 'Salerno',
+ 'SI' => 'Siena',
+ 'SO' => 'Sondrio',
+ 'SP' => 'La Spezia',
+ 'SR' => 'Siracusa',
+ 'SS' => 'Sassari',
+ 'SV' => 'Savona',
+ 'TA' => 'Taranto',
+ 'TE' => 'Teramo',
+ 'TN' => 'Trento',
+ 'TO' => 'Torino',
+ 'TP' => 'Trapani',
+ 'TR' => 'Terni',
+ 'TS' => 'Trieste',
+ 'TV' => 'Treviso',
+ 'UD' => 'Udine',
+ 'VA' => 'Varese',
+ 'VB' => 'Verbano-Cusio-Ossola',
+ 'VC' => 'Vercelli',
+ 'VE' => 'Venezia',
+ 'VI' => 'Vicenza',
+ 'VR' => 'Verona',
+ 'VS' => 'Medio Campidano',
+ 'VT' => 'Viterbo',
+ 'VV' => 'Vibo Valentia',
+ ),
+ 'JM' =>
+ array (
+ '01' => 'Kingston',
+ '02' => 'Saint Andrew',
+ '03' => 'Saint Thomas',
+ '04' => 'Portland',
+ '05' => 'Saint Mary',
+ '06' => 'Saint Ann',
+ '07' => 'Trelawny',
+ '08' => 'Saint James',
+ '09' => 'Hanover',
+ 10 => 'Westmoreland',
+ 11 => 'Saint Elizabeth',
+ 12 => 'Manchester',
+ 13 => 'Clarendon',
+ 14 => 'Saint Catherine',
+ ),
+ 'JO' =>
+ array (
+ 'AJ' => '‘Ajlūn',
+ 'AM' => '‘Ammān (Al ‘Aşimah)',
+ 'AQ' => 'Al ‘Aqabah',
+ 'AT' => 'Aţ Ţafīlah',
+ 'AZ' => 'Az Zarqā\'',
+ 'BA' => 'Al Balqā\'',
+ 'IR' => 'Irbid',
+ 'JA' => 'Jarash',
+ 'KA' => 'Al Karak',
+ 'MA' => 'Al Mafraq',
+ 'MD' => 'Mādabā',
+ 'MN' => 'Ma‘ān',
+ ),
+ 'JP' =>
+ array (
+ '01' => 'Hokkaido',
+ '02' => 'Aomori',
+ '03' => 'Iwate',
+ '04' => 'Miyagi',
+ '05' => 'Akita',
+ '06' => 'Yamagata',
+ '07' => 'Fukushima',
+ '08' => 'Ibaraki',
+ '09' => 'Tochigi',
+ 10 => 'Gunma',
+ 11 => 'Saitama',
+ 12 => 'Chiba',
+ 13 => 'Tokyo',
+ 14 => 'Kanagawa',
+ 15 => 'Niigata',
+ 16 => 'Toyama',
+ 17 => 'Ishikawa',
+ 18 => 'Fukui',
+ 19 => 'Yamanashi',
+ 20 => 'Nagano',
+ 21 => 'Gifu',
+ 22 => 'Shizuoka',
+ 23 => 'Aichi',
+ 24 => 'Mie',
+ 25 => 'Shiga',
+ 26 => 'Kyoto',
+ 27 => 'Osaka',
+ 28 => 'Hyogo',
+ 29 => 'Nara',
+ 30 => 'Wakayama',
+ 31 => 'Tottori',
+ 32 => 'Shimane',
+ 33 => 'Okayama',
+ 34 => 'Hiroshima',
+ 35 => 'Yamaguchi',
+ 36 => 'Tokushima',
+ 37 => 'Kagawa',
+ 38 => 'Ehime',
+ 39 => 'Kochi',
+ 40 => 'Fukuoka',
+ 41 => 'Saga',
+ 42 => 'Nagasaki',
+ 43 => 'Kumamoto',
+ 44 => 'Oita',
+ 45 => 'Miyazaki',
+ 46 => 'Kagoshima',
+ 47 => 'Okinawa',
+ ),
+ 'KE' =>
+ array (
+ 110 => 'Nairobi Municipality',
+ 200 => 'Central',
+ 300 => 'Coast',
+ 400 => 'Eastern',
+ 500 => 'North-Eastern Kaskazini Mashariki',
+ 700 => 'Rift Valley',
+ 800 => 'Western Magharibi',
+ ),
+ 'KG' =>
+ array (
+ 'B' => 'Batken',
+ 'C' => 'Chü',
+ 'GB' => 'Bishkek',
+ 'GO' => 'Osh',
+ 'J' => 'Jalal-Abad',
+ 'N' => 'Naryn',
+ 'O' => 'Osh',
+ 'T' => 'Talas',
+ 'Y' => 'Ysyk-Köl',
+ ),
+ 'KH' =>
+ array (
+ 1 => 'Banteay Mean Chey',
+ 10 => 'Krachoh',
+ 11 => 'Mondol Kiri',
+ 12 => 'Phnom Penh',
+ 13 => 'Preah Vihear',
+ 14 => 'Prey Veaeng',
+ 15 => 'Pousaat',
+ 16 => 'Rotanak Kiri',
+ 17 => 'Siem Reab',
+ 18 => 'Krong Preah Sihanouk',
+ 19 => 'Stueng Traeng',
+ 2 => 'Battambang',
+ 20 => 'Svaay Rieng',
+ 21 => 'Taakaev',
+ 22 => 'Otdar Mean Chey',
+ 23 => 'Krong Kaeb',
+ 24 => 'Krong Pailin',
+ 3 => 'Kampong Cham',
+ 4 => 'Kampong Chhnang',
+ 5 => 'Kampong Speu',
+ 6 => 'Kampong Thom',
+ 7 => 'Kampot',
+ 8 => 'Kandal',
+ 9 => 'Kach Kong',
+ ),
+ 'KI' =>
+ array (
+ 'G' => 'Gilbert Islands',
+ 'L' => 'Line Islands',
+ 'P' => 'Phoenix Islands',
+ ),
+ 'KM' =>
+ array (
+ 'A' => 'Andjouân (Anjwān)',
+ 'G' => 'Andjazîdja (Anjazījah)',
+ 'M' => 'Moûhîlî (Mūhīlī)',
+ ),
+ 'KN' =>
+ array (
+ '01' => 'Christ Church Nichola Town',
+ '02' => 'Saint Anne Sandy Point',
+ '03' => 'Saint George Basseterre',
+ '04' => 'Saint George Gingerland',
+ '05' => 'Saint James Windward',
+ '06' => 'Saint John Capisterre',
+ '07' => 'Saint John Figtree',
+ '08' => 'Saint Mary Cayon',
+ '09' => 'Saint Paul Capisterre',
+ 10 => 'Saint Paul Charlestown',
+ 11 => 'Saint Peter Basseterre',
+ 12 => 'Saint Thomas Lowland',
+ 13 => 'Saint Thomas Middle Island',
+ 15 => 'Trinity Palmetto Point',
+ 'K' => 'Saint Kitts',
+ 'N' => 'Nevis',
+ ),
+ 'KP' =>
+ array (
+ '01' => 'P’yŏngyang',
+ '02' => 'P’yŏngan-namdo',
+ '03' => 'P’yŏngan-bukto',
+ '04' => 'Chagang-do',
+ '05' => 'Hwanghae-namdo',
+ '06' => 'Hwanghae-bukto',
+ '07' => 'Kangwŏn-do',
+ '08' => 'Hamgyŏng-namdo',
+ '09' => 'Hamgyŏng-bukto',
+ 10 => 'Yanggang-do',
+ 13 => 'Nasŏn (Najin-Sŏnbong)',
+ ),
+ 'KR' =>
+ array (
+ 11 => 'Seoul Teugbyeolsi',
+ 26 => 'Busan Gwang\'yeogsi',
+ 27 => 'Daegu Gwang\'yeogsi',
+ 28 => 'Incheon Gwang\'yeogsi',
+ 29 => 'Gwangju Gwang\'yeogsi',
+ 30 => 'Daejeon Gwang\'yeogsi',
+ 31 => 'Ulsan Gwang\'yeogsi',
+ 41 => 'Gyeonggido',
+ 42 => 'Gang\'weondo',
+ 43 => 'Chungcheongbukdo',
+ 44 => 'Chungcheongnamdo',
+ 45 => 'Jeonrabukdo',
+ 46 => 'Jeonranamdo',
+ 47 => 'Gyeongsangbukdo',
+ 48 => 'Gyeongsangnamdo',
+ 49 => 'Jejudo',
+ ),
+ 'KW' =>
+ array (
+ 'AH' => 'Al Ahmadi',
+ 'FA' => 'Al Farwānīyah',
+ 'HA' => 'Hawallī',
+ 'JA' => 'Al Jahrrā’',
+ 'KU' => 'Al Kuwayt (Al ‘Āşimah)',
+ 'MU' => 'Mubārak al Kabīr',
+ ),
+ 'KZ' =>
+ array (
+ 'AKM' => 'Aqmola oblysy',
+ 'AKT' => 'Aqtöbe oblysy',
+ 'ALA' => 'Almaty',
+ 'ALM' => 'Almaty oblysy',
+ 'AST' => 'Astana',
+ 'ATY' => 'Atyraū oblysy',
+ 'BAY' => 'Bayqongyr',
+ 'KAR' => 'Qaraghandy oblysy',
+ 'KUS' => 'Qostanay oblysy',
+ 'KZY' => 'Qyzylorda oblysy',
+ 'MAN' => 'Mangghystaū oblysy',
+ 'PAV' => 'Pavlodar oblysy',
+ 'SEV' => 'Soltüstik Quzaqstan oblysy',
+ 'VOS' => 'Shyghys Qazaqstan oblysy',
+ 'YUZ' => 'Ongtüstik Qazaqstan oblysy',
+ 'ZAP' => 'Batys Quzaqstan oblysy',
+ 'ZHA' => 'Zhambyl oblysy',
+ ),
+ 'LA' =>
+ array (
+ 'AT' => 'Attapu',
+ 'BK' => 'Bokèo',
+ 'BL' => 'Bolikhamxai',
+ 'CH' => 'Champasak',
+ 'HO' => 'Houaphan',
+ 'KH' => 'Khammouan',
+ 'LM' => 'Louang Namtha',
+ 'LP' => 'Louangphabang',
+ 'OU' => 'Oudômxai',
+ 'PH' => 'Phôngsali',
+ 'SL' => 'Salavan',
+ 'SV' => 'Savannakhét',
+ 'VI' => 'Vientiane',
+ 'VT' => 'Vientiane',
+ 'XA' => 'Xaignabouli',
+ 'XE' => 'Xékong',
+ 'XI' => 'Xiangkhouang',
+ 'XS' => 'Xaisômboun',
+ ),
+ 'LB' =>
+ array (
+ 'AK' => 'Aakkâr',
+ 'AS' => 'Liban-Nord',
+ 'BA' => 'Beyrouth',
+ 'BH' => 'Baalbek-Hermel',
+ 'BI' => 'Béqaa',
+ 'JA' => 'Liban-Sud',
+ 'JL' => 'Mont-Liban',
+ 'NA' => 'Nabatîyé',
+ ),
+ 'LC' =>
+ array (
+ '01' => 'Anse la Raye',
+ '02' => 'Castries',
+ '03' => 'Choiseul',
+ '05' => 'Dennery',
+ '06' => 'Gros Islet',
+ '07' => 'Laborie',
+ '08' => 'Micoud',
+ 10 => 'Soufrière',
+ 11 => 'Vieux Fort',
+ 12 => 'Canaries',
+ ),
+ 'LI' =>
+ array (
+ '01' => 'Balzers',
+ '02' => 'Eschen',
+ '03' => 'Gamprin',
+ '04' => 'Mauren',
+ '05' => 'Planken',
+ '06' => 'Ruggell',
+ '07' => 'Schaan',
+ '08' => 'Schellenberg',
+ '09' => 'Triesen',
+ 10 => 'Triesenberg',
+ 11 => 'Vaduz',
+ ),
+ 'LK' =>
+ array (
+ 1 => 'Basnāhira paḷāta',
+ 11 => 'Kŏḷamba',
+ 12 => 'Gampaha',
+ 13 => 'Kaḷutara',
+ 2 => 'Madhyama paḷāta',
+ 21 => 'Mahanuvara',
+ 22 => 'Mātale',
+ 23 => 'Nuvara Ĕliya',
+ 3 => 'Dakuṇu paḷāta',
+ 31 => 'Gālla',
+ 32 => 'Mātara',
+ 33 => 'Hambantŏṭa',
+ 4 => 'Uturu paḷāta',
+ 41 => 'Yāpanaya',
+ 42 => 'Kilinŏchchi',
+ 43 => 'Mannārama',
+ 44 => 'Vavuniyāva',
+ 45 => 'Mulativ',
+ 5 => 'Næ̆gĕnahira paḷāta',
+ 51 => 'Maḍakalapuva',
+ 52 => 'Ampāara',
+ 53 => 'Trikuṇāmalaya',
+ 6 => 'Vayamba paḷāta',
+ 61 => 'Kuruṇægala',
+ 62 => 'Puttalama',
+ 7 => 'Uturumæ̆da paḷāta',
+ 71 => 'Anurādhapura',
+ 72 => 'Pŏḷŏnnaruva',
+ 8 => 'Ūva paḷāta',
+ 81 => 'Badulla',
+ 82 => 'Mŏṇarāgala',
+ 9 => 'Sabaragamuva paḷāta',
+ 91 => 'Ratnapura',
+ 92 => 'Kægalla',
+ ),
+ 'LR' =>
+ array (
+ 'BG' => 'Bong',
+ 'BM' => 'Bomi',
+ 'CM' => 'Grand Cape Mount',
+ 'GB' => 'Grand Bassa',
+ 'GG' => 'Grand Gedeh',
+ 'GK' => 'Grand Kru',
+ 'GP' => 'Gbarpolu',
+ 'LO' => 'Lofa',
+ 'MG' => 'Margibi',
+ 'MO' => 'Montserrado',
+ 'MY' => 'Maryland',
+ 'NI' => 'Nimba',
+ 'RG' => 'River Gee',
+ 'RI' => 'Rivercess',
+ 'SI' => 'Sinoe',
+ ),
+ 'LS' =>
+ array (
+ 'A' => 'Maseru',
+ 'B' => 'Butha-Buthe',
+ 'C' => 'Leribe',
+ 'D' => 'Berea',
+ 'E' => 'Mafeteng',
+ 'F' => 'Mohale\'s Hoek',
+ 'G' => 'Quthing',
+ 'H' => 'Qacha\'s Nek',
+ 'J' => 'Mokhotlong',
+ 'K' => 'Thaba-Tseka',
+ ),
+ 'LT' =>
+ array (
+ 'AL' => 'Alytaus Apskritis',
+ 'KL' => 'Klaipėdos Apskritis',
+ 'KU' => 'Kauno Apskritis',
+ 'MR' => 'Marijampolės Apskritis',
+ 'PN' => 'Panevėžio Apskritis',
+ 'SA' => 'Šiaulių Apskritis',
+ 'TA' => 'Tauragés Apskritis',
+ 'TE' => 'Telšių Apskritis',
+ 'UT' => 'Utenos Apskritis',
+ 'VL' => 'Vilniaus Apskritis',
+ ),
+ 'LU' =>
+ array (
+ 'D' => 'Diekirch',
+ 'G' => 'Grevenmacher',
+ 'L' => 'Luxembourg',
+ ),
+ 'LV' =>
+ array (
+ '001' => 'Aglonas novads',
+ '002' => 'Aizkraukles novads',
+ '003' => 'Aizputes novads',
+ '004' => 'Aknīstes novads',
+ '005' => 'Alojas novads',
+ '006' => 'Alsungas novads',
+ '007' => 'Alūksnes novads',
+ '008' => 'Amatas novads',
+ '009' => 'Apes novads',
+ '010' => 'Auces novads',
+ '011' => 'Ādažu novads',
+ '012' => 'Babītes novads',
+ '013' => 'Baldones novads',
+ '014' => 'Baltinavas novads',
+ '015' => 'Balvu novads',
+ '016' => 'Bauskas novads',
+ '017' => 'Beverīnas novads',
+ '018' => 'Brocēnu novads',
+ '019' => 'Burtnieku novads',
+ '020' => 'Carnikavas novads',
+ '021' => 'Cesvaines novads',
+ '022' => 'Cēsu novads',
+ '023' => 'Ciblas novads',
+ '024' => 'Dagdas novads',
+ '025' => 'Daugavpils novads',
+ '026' => 'Dobeles novads',
+ '027' => 'Dundagas novads',
+ '028' => 'Durbes novads',
+ '029' => 'Engures novads',
+ '030' => 'Ērgļu novads',
+ '031' => 'Garkalnes novads',
+ '032' => 'Grobiņas novads',
+ '033' => 'Gulbenes novads',
+ '034' => 'Iecavas novads',
+ '035' => 'Ikšķiles novads',
+ '036' => 'Ilūkstes novads',
+ '037' => 'Inčukalna novads',
+ '038' => 'Jaunjelgavas novads',
+ '039' => 'Jaunpiebalgas novads',
+ '040' => 'Jaunpils novads',
+ '041' => 'Jelgavas novads',
+ '042' => 'Jēkabpils novads',
+ '043' => 'Kandavas novads',
+ '044' => 'Kārsavas novads',
+ '045' => 'Kocēnu novads',
+ '046' => 'Kokneses novads',
+ '047' => 'Krāslavas novads',
+ '048' => 'Krimuldas novads',
+ '049' => 'Krustpils novads',
+ '050' => 'Kuldīgas novads',
+ '051' => 'Ķeguma novads',
+ '052' => 'Ķekavas novads',
+ '053' => 'Lielvārdes novads',
+ '054' => 'Limbažu novads',
+ '055' => 'Līgatnes novads',
+ '056' => 'Līvānu novads',
+ '057' => 'Lubānas novads',
+ '058' => 'Ludzas novads',
+ '059' => 'Madonas novads',
+ '060' => 'Mazsalacas novads',
+ '061' => 'Mālpils novads',
+ '062' => 'Mārupes novads',
+ '063' => 'Mērsraga novads',
+ '064' => 'Naukšēnu novads',
+ '065' => 'Neretas novads',
+ '066' => 'Nīcas novads',
+ '067' => 'Ogres novads',
+ '068' => 'Olaines novads',
+ '069' => 'Ozolnieku novads',
+ '070' => 'Pārgaujas novads',
+ '071' => 'Pāvilostas novads',
+ '072' => 'Pļaviņu novads',
+ '073' => 'Preiļu novads',
+ '074' => 'Priekules novads',
+ '075' => 'Priekuļu novads',
+ '076' => 'Raunas novads',
+ '077' => 'Rēzeknes novads',
+ '078' => 'Riebiņu novads',
+ '079' => 'Rojas novads',
+ '080' => 'Ropažu novads',
+ '081' => 'Rucavas novads',
+ '082' => 'Rugāju novads',
+ '083' => 'Rundāles novads',
+ '084' => 'Rūjienas novads',
+ '085' => 'Salas novads',
+ '086' => 'Salacgrīvas novads',
+ '087' => 'Salaspils novads',
+ '088' => 'Saldus novads',
+ '089' => 'Saulkrastu novads',
+ '090' => 'Sējas novads',
+ '091' => 'Siguldas novads',
+ '092' => 'Skrīveru novads',
+ '093' => 'Skrundas novads',
+ '094' => 'Smiltenes novads',
+ '095' => 'Stopiņu novads',
+ '096' => 'Strenču novads',
+ '097' => 'Talsu novads',
+ '098' => 'Tērvetes novads',
+ '099' => 'Tukuma novads',
+ 100 => 'Vaiņodes novads',
+ 101 => 'Valkas novads',
+ 102 => 'Varakļānu novads',
+ 103 => 'Vārkavas novads',
+ 104 => 'Vecpiebalgas novads',
+ 105 => 'Vecumnieku novads',
+ 106 => 'Ventspils novads',
+ 107 => 'Viesītes novads',
+ 108 => 'Viļakas novads',
+ 109 => 'Viļānu novads',
+ 110 => 'Zilupes novads',
+ 'DGV' => 'Daugavpils',
+ 'JEL' => 'Jelgava',
+ 'JKB' => 'Jēkabpils',
+ 'JUR' => 'Jūrmala',
+ 'LPX' => 'Liepāja',
+ 'REZ' => 'Rēzekne',
+ 'RIX' => 'Rīga',
+ 'VEN' => 'Ventspils',
+ 'VMR' => 'Valmiera',
+ ),
+ 'LY' =>
+ array (
+ 'BA' => 'Banghāzī',
+ 'BU' => 'Al Buţnān',
+ 'DR' => 'Darnah',
+ 'GT' => 'Ghāt',
+ 'JA' => 'Al Jabal al Akhḑar',
+ 'JB' => 'Jaghbūb',
+ 'JG' => 'Al Jabal al Gharbī',
+ 'JI' => 'Al Jifārah',
+ 'JU' => 'Al Jufrah',
+ 'KF' => 'Al Kufrah',
+ 'MB' => 'Al Marqab',
+ 'MI' => 'Mişrātah',
+ 'MJ' => 'Al Marj',
+ 'MQ' => 'Murzuq',
+ 'NL' => 'Nālūt',
+ 'NQ' => 'An Nuqaţ al Khams',
+ 'SB' => 'Sabhā',
+ 'SR' => 'Surt',
+ 'TB' => 'Ţarābulus',
+ 'WA' => 'Al Wāḩāt',
+ 'WD' => 'Wādī al Ḩayāt',
+ 'WS' => 'Wādī ash Shāţiʾ',
+ 'ZA' => 'Az Zāwiyah',
+ ),
+ 'MA' =>
+ array (
+ '01' => 'Tanger-Tétouan',
+ '02' => 'Gharb-Chrarda-Beni Hssen',
+ '03' => 'Taza-Al Hoceima-Taounate',
+ '04' => 'L\'Oriental',
+ '05' => 'Fès-Boulemane',
+ '06' => 'Meknès-Tafilalet',
+ '07' => 'Rabat-Salé-Zemmour-Zaer',
+ '08' => 'Grand Casablanca',
+ '09' => 'Chaouia-Ouardigha',
+ 10 => 'Doukhala-Abda',
+ 11 => 'Marrakech-Tensift-Al Haouz',
+ 12 => 'Tadla-Azilal',
+ 13 => 'Sous-Massa-Draa',
+ 14 => 'Guelmim-Es Smara',
+ 15 => 'Laâyoune-Boujdour-Sakia el Hamra',
+ 16 => 'Oued ed Dahab-Lagouira',
+ 'AGD' => 'Agadir-Ida-Outanane',
+ 'AOU' => 'Aousserd',
+ 'ASZ' => 'Assa-Zag',
+ 'AZI' => 'Azilal',
+ 'BEM' => 'Beni Mellal',
+ 'BER' => 'Berkane',
+ 'BES' => 'Ben Slimane',
+ 'BOD' => 'Boujdour (EH)',
+ 'BOM' => 'Boulemane',
+ 'CAS' => 'Casablanca [Dar el Beïda]',
+ 'CHE' => 'Chefchaouen',
+ 'CHI' => 'Chichaoua',
+ 'CHT' => 'Chtouka-Ait Baha',
+ 'ERR' => 'Errachidia',
+ 'ESI' => 'Essaouira',
+ 'ESM' => 'Es Smara (EH)',
+ 'FAH' => 'Fahs-Beni Makada',
+ 'FES' => 'Fès-Dar-Dbibegh',
+ 'FIG' => 'Figuig',
+ 'GUE' => 'Guelmim',
+ 'HAJ' => 'El Hajeb',
+ 'HAO' => 'Al Haouz',
+ 'HOC' => 'Al Hoceïma',
+ 'IFR' => 'Ifrane',
+ 'INE' => 'Inezgane-Ait Melloul',
+ 'JDI' => 'El Jadida',
+ 'JRA' => 'Jrada',
+ 'KEN' => 'Kénitra',
+ 'KES' => 'Kelaat es Sraghna',
+ 'KHE' => 'Khemisaet',
+ 'KHN' => 'Khenifra',
+ 'KHO' => 'Khouribga',
+ 'LAA' => 'Laâyoune (EH)',
+ 'LAR' => 'Larache',
+ 'MED' => 'Médiouna',
+ 'MEK' => 'Meknès',
+ 'MMD' => 'Marrakech-Medina',
+ 'MMN' => 'Marrakech-Menara',
+ 'MOH' => 'Mohammadia',
+ 'MOU' => 'Moulay Yacoub',
+ 'NAD' => 'Nador',
+ 'NOU' => 'Nouaceur',
+ 'OUA' => 'Ouarzazate',
+ 'OUD' => 'Oued ed Dahab (EH)',
+ 'OUJ' => 'Oujda-Angad',
+ 'RAB' => 'Rabat',
+ 'SAF' => 'Safi',
+ 'SAL' => 'Salé',
+ 'SEF' => 'Sefrou',
+ 'SET' => 'Settat',
+ 'SIK' => 'Sidl Kacem',
+ 'SKH' => 'Skhirate-Témara',
+ 'SYB' => 'Sidi Youssef Ben Ali',
+ 'TAI' => 'Taourirt',
+ 'TAO' => 'Taounate',
+ 'TAR' => 'Taroudant',
+ 'TAT' => 'Tata',
+ 'TAZ' => 'Taza',
+ 'TET' => 'Tétouan',
+ 'TIZ' => 'Tiznit',
+ 'TNG' => 'Tanger-Assilah',
+ 'TNT' => 'Tan-Tan',
+ 'ZAG' => 'Zagora',
+ ),
+ 'MC' =>
+ array (
+ 'CL' => 'La Colle',
+ 'CO' => 'La Condamine',
+ 'FO' => 'Fontvieille',
+ 'GA' => 'La Gare',
+ 'JE' => 'Jardin Exotique',
+ 'LA' => 'Larvotto',
+ 'MA' => 'Malbousquet',
+ 'MC' => 'Monte-Carlo',
+ 'MG' => 'Moneghetti',
+ 'MO' => 'Monaco-Ville',
+ 'MU' => 'Moulins',
+ 'PH' => 'Port-Hercule',
+ 'SD' => 'Sainte-Dévote',
+ 'SO' => 'La Source',
+ 'SP' => 'Spélugues',
+ 'SR' => 'Saint-Roman',
+ 'VR' => 'Vallon de la Rousse',
+ ),
+ 'MD' =>
+ array (
+ 'AN' => 'Anenii Noi',
+ 'BA' => 'Bălți',
+ 'BD' => 'Tighina',
+ 'BR' => 'Briceni',
+ 'BS' => 'Basarabeasca',
+ 'CA' => 'Cahul',
+ 'CL' => 'Călărași',
+ 'CM' => 'Cimișlia',
+ 'CR' => 'Criuleni',
+ 'CS' => 'Căușeni',
+ 'CT' => 'Cantemir',
+ 'CU' => 'Chișinău',
+ 'DO' => 'Dondușeni',
+ 'DR' => 'Drochia',
+ 'DU' => 'Dubăsari',
+ 'ED' => 'Edineț',
+ 'FA' => 'Fălești',
+ 'FL' => 'Florești',
+ 'GA' => 'Găgăuzia, Unitatea teritorială autonomă',
+ 'GL' => 'Glodeni',
+ 'HI' => 'Hîncești',
+ 'IA' => 'Ialoveni',
+ 'LE' => 'Leova',
+ 'NI' => 'Nisporeni',
+ 'OC' => 'Ocnița',
+ 'OR' => 'Orhei',
+ 'RE' => 'Rezina',
+ 'RI' => 'Rîșcani',
+ 'SD' => 'Șoldănești',
+ 'SI' => 'Sîngerei',
+ 'SN' => 'Stînga Nistrului, unitatea teritorială din',
+ 'SO' => 'Soroca',
+ 'ST' => 'Strășeni',
+ 'SV' => 'Ștefan Vodă',
+ 'TA' => 'Taraclia',
+ 'TE' => 'Telenești',
+ 'UN' => 'Ungheni',
+ ),
+ 'ME' =>
+ array (
+ '01' => 'Andrijevica',
+ '02' => 'Bar',
+ '03' => 'Berane',
+ '04' => 'Bijelo Polje',
+ '05' => 'Budva',
+ '06' => 'Cetinje',
+ '07' => 'Danilovgrad',
+ '08' => 'Herceg-Novi',
+ '09' => 'Kolašin',
+ 10 => 'Kotor',
+ 11 => 'Mojkovac',
+ 12 => 'Nikšić',
+ 13 => 'Plav',
+ 14 => 'Pljevlja',
+ 15 => 'Plužine',
+ 16 => 'Podgorica',
+ 17 => 'Rožaje',
+ 18 => 'Šavnik',
+ 19 => 'Tivat',
+ 20 => 'Ulcinj',
+ 21 => 'Žabljak',
+ ),
+ 'MG' =>
+ array (
+ 'A' => 'Toamasina',
+ 'D' => 'Antsiranana',
+ 'F' => 'Fianarantsoa',
+ 'M' => 'Mahajanga',
+ 'T' => 'Antananarivo',
+ 'U' => 'Toliara',
+ ),
+ 'MH' =>
+ array (
+ 'ALK' => 'Ailuk',
+ 'ALL' => 'Ailinglaplap',
+ 'ARN' => 'Arno',
+ 'AUR' => 'Aur',
+ 'EBO' => 'Ebon',
+ 'ENI' => 'Enewetak',
+ 'JAB' => 'Jabat',
+ 'JAL' => 'Jaluit',
+ 'KIL' => 'Kili',
+ 'KWA' => 'Kwajalein',
+ 'L' => 'Ralik chain',
+ 'LAE' => 'Lae',
+ 'LIB' => 'Lib',
+ 'LIK' => 'Likiep',
+ 'MAJ' => 'Majuro',
+ 'MAL' => 'Maloelap',
+ 'MEJ' => 'Mejit',
+ 'MIL' => 'Mili',
+ 'NMK' => 'Namdrik',
+ 'NMU' => 'Namu',
+ 'RON' => 'Rongelap',
+ 'T' => 'Ratak chain',
+ 'UJA' => 'Ujae',
+ 'UTI' => 'Utirik',
+ 'WTJ' => 'Wotje',
+ 'WTN' => 'Wotho',
+ ),
+ 'MK' =>
+ array (
+ '01' => 'Aerodrom',
+ '02' => 'Aračinovo',
+ '03' => 'Berovo',
+ '04' => 'Bitola',
+ '05' => 'Bogdanci',
+ '06' => 'Bogovinje',
+ '07' => 'Bosilovo',
+ '08' => 'Brvenica',
+ '09' => 'Butel',
+ 10 => 'Valandovo',
+ 11 => 'Vasilevo',
+ 12 => 'Vevčani',
+ 13 => 'Veles',
+ 14 => 'Vinica',
+ 15 => 'Vraneštica',
+ 16 => 'Vrapčište',
+ 17 => 'Gazi Baba',
+ 18 => 'Gevgelija',
+ 19 => 'Gostivar',
+ 20 => 'Gradsko',
+ 21 => 'Debar',
+ 22 => 'Debarca',
+ 23 => 'Delčevo',
+ 24 => 'Demir Kapija',
+ 25 => 'Demir Hisar',
+ 26 => 'Dojran',
+ 27 => 'Dolneni',
+ 28 => 'Drugovo',
+ 29 => 'Gjorče Petrov',
+ 30 => 'Želino',
+ 31 => 'Zajas',
+ 32 => 'Zelenikovo',
+ 33 => 'Zrnovci',
+ 34 => 'Ilinden',
+ 35 => 'Jegunovce',
+ 36 => 'Kavadarci',
+ 37 => 'Karbinci',
+ 38 => 'Karpoš',
+ 39 => 'Kisela Voda',
+ 40 => 'Kičevo',
+ 41 => 'Konče',
+ 42 => 'Kočani',
+ 43 => 'Kratovo',
+ 44 => 'Kriva Palanka',
+ 45 => 'Krivogaštani',
+ 46 => 'Kruševo',
+ 47 => 'Kumanovo',
+ 48 => 'Lipkovo',
+ 49 => 'Lozovo',
+ 50 => 'Mavrovo-i-Rostuša',
+ 51 => 'Makedonska Kamenica',
+ 52 => 'Makedonski Brod',
+ 53 => 'Mogila',
+ 54 => 'Negotino',
+ 55 => 'Novaci',
+ 56 => 'Novo Selo',
+ 57 => 'Oslomej',
+ 58 => 'Ohrid',
+ 59 => 'Petrovec',
+ 60 => 'Pehčevo',
+ 61 => 'Plasnica',
+ 62 => 'Prilep',
+ 63 => 'Probištip',
+ 64 => 'Radoviš',
+ 65 => 'Rankovce',
+ 66 => 'Resen',
+ 67 => 'Rosoman',
+ 68 => 'Saraj',
+ 69 => 'Sveti Nikole',
+ 70 => 'Sopište',
+ 71 => 'Staro Nagoričane',
+ 72 => 'Struga',
+ 73 => 'Strumica',
+ 74 => 'Studeničani',
+ 75 => 'Tearce',
+ 76 => 'Tetovo',
+ 77 => 'Centar',
+ 78 => 'Centar Župa',
+ 79 => 'Čair',
+ 80 => 'Čaška',
+ 81 => 'Češinovo-Obleševo',
+ 82 => 'Čučer Sandevo',
+ 83 => 'Štip',
+ 84 => 'Šuto Orizari',
+ 85 => 'Skopje',
+ ),
+ 'ML' =>
+ array (
+ 1 => 'Kayes',
+ 2 => 'Koulikoro',
+ 3 => 'Sikasso',
+ 4 => 'Ségou',
+ 5 => 'Mopti',
+ 6 => 'Tombouctou',
+ 7 => 'Gao',
+ 8 => 'Kidal',
+ 'BKO' => 'Bamako',
+ ),
+ 'MM' =>
+ array (
+ '01' => 'Sagaing',
+ '02' => 'Bago',
+ '03' => 'Magway',
+ '04' => 'Mandalay',
+ '05' => 'Tanintharyi',
+ '06' => 'Yangon',
+ '07' => 'Ayeyarwady',
+ 11 => 'Kachin',
+ 12 => 'Kayah',
+ 13 => 'Kayin',
+ 14 => 'Chin',
+ 15 => 'Mon',
+ 16 => 'Rakhine',
+ 17 => 'Shan',
+ ),
+ 'MN' =>
+ array (
+ '035' => 'Orhon',
+ '037' => 'Darhan uul',
+ '039' => 'Hentiy',
+ '041' => 'Hövsgöl',
+ '043' => 'Hovd',
+ '046' => 'Uvs',
+ '047' => 'Töv',
+ '049' => 'Selenge',
+ '051' => 'Sühbaatar',
+ '053' => 'Ömnögovi',
+ '055' => 'Övörhangay',
+ '057' => 'Dzavhan',
+ '059' => 'Dundgovi',
+ '061' => 'Dornod',
+ '063' => 'Dornogovi',
+ '064' => 'Govi-Sumber',
+ '065' => 'Govi-Altay',
+ '067' => 'Bulgan',
+ '069' => 'Bayanhongor',
+ '071' => 'Bayan-Ölgiy',
+ '073' => 'Arhangay',
+ 1 => 'Ulanbaatar',
+ ),
+ 'MR' =>
+ array (
+ '01' => 'Hodh ech Chargui',
+ '02' => 'Hodh el Charbi',
+ '03' => 'Assaba',
+ '04' => 'Gorgol',
+ '05' => 'Brakna',
+ '06' => 'Trarza',
+ '07' => 'Adrar',
+ '08' => 'Dakhlet Nouadhibou',
+ '09' => 'Tagant',
+ 10 => 'Guidimaka',
+ 11 => 'Tiris Zemmour',
+ 12 => 'Inchiri',
+ 'NKC' => 'Nouakchott',
+ ),
+ 'MT' =>
+ array (
+ '01' => 'Attard',
+ '02' => 'Balzan',
+ '03' => 'Birgu',
+ '04' => 'Birkirkara',
+ '05' => 'Birżebbuġa',
+ '06' => 'Bormla',
+ '07' => 'Dingli',
+ '08' => 'Fgura',
+ '09' => 'Floriana',
+ 10 => 'Fontana',
+ 11 => 'Gudja',
+ 12 => 'Gżira',
+ 13 => 'Għajnsielem',
+ 14 => 'Għarb',
+ 15 => 'Għargħur',
+ 16 => 'Għasri',
+ 17 => 'Għaxaq',
+ 18 => 'Ħamrun',
+ 19 => 'Iklin',
+ 20 => 'Isla',
+ 21 => 'Kalkara',
+ 22 => 'Kerċem',
+ 23 => 'Kirkop',
+ 24 => 'Lija',
+ 25 => 'Luqa',
+ 26 => 'Marsa',
+ 27 => 'Marsaskala',
+ 28 => 'Marsaxlokk',
+ 29 => 'Mdina',
+ 30 => 'Mellieħa',
+ 31 => 'Mġarr',
+ 32 => 'Mosta',
+ 33 => 'Mqabba',
+ 34 => 'Msida',
+ 35 => 'Mtarfa',
+ 36 => 'Munxar',
+ 37 => 'Nadur',
+ 38 => 'Naxxar',
+ 39 => 'Paola',
+ 40 => 'Pembroke',
+ 41 => 'Pietà',
+ 42 => 'Qala',
+ 43 => 'Qormi',
+ 44 => 'Qrendi',
+ 45 => 'Rabat Għawdex',
+ 46 => 'Rabat Malta',
+ 47 => 'Safi',
+ 48 => 'San Ġiljan',
+ 49 => 'San Ġwann',
+ 50 => 'San Lawrenz',
+ 51 => 'San Pawl il-Baħar',
+ 52 => 'Sannat',
+ 53 => 'Santa Luċija',
+ 54 => 'Santa Venera',
+ 55 => 'Siġġiewi',
+ 56 => 'Sliema',
+ 57 => 'Swieqi',
+ 58 => 'Ta’ Xbiex',
+ 59 => 'Tarxien',
+ 60 => 'Valletta',
+ 61 => 'Xagħra',
+ 62 => 'Xewkija',
+ 63 => 'Xgħajra',
+ 64 => 'Żabbar',
+ 65 => 'Żebbuġ Għawdex',
+ 66 => 'Żebbuġ Malta',
+ 67 => 'Żejtun',
+ 68 => 'Żurrieq',
+ ),
+ 'MU' =>
+ array (
+ 'AG' => 'Agalega Islands',
+ 'BL' => 'Black River',
+ 'BR' => 'Beau Bassin-Rose Hill',
+ 'CC' => 'Cargados Carajos Shoals',
+ 'CU' => 'Curepipe',
+ 'FL' => 'Flacq',
+ 'GP' => 'Grand Port',
+ 'MO' => 'Moka',
+ 'PA' => 'Pamplemousses',
+ 'PL' => 'Port Louis',
+ 'PU' => 'Port Louis',
+ 'PW' => 'Plaines Wilhems',
+ 'QB' => 'Quatre Bornes',
+ 'RO' => 'Rodrigues Island',
+ 'RR' => 'Rivière du Rempart',
+ 'SA' => 'Savanne',
+ 'VP' => 'Vacoas-Phoenix',
+ ),
+ 'MV' =>
+ array (
+ '00' => 'Alifu Dhaalu',
+ '01' => 'Seenu',
+ '02' => 'Alifu Alifu',
+ '03' => 'Lhaviyani',
+ '04' => 'Vaavu',
+ '05' => 'Laamu',
+ '07' => 'Haa Alifu',
+ '08' => 'Thaa',
+ 12 => 'Meemu',
+ 13 => 'Raa',
+ 14 => 'Faafu',
+ 17 => 'Dhaalu',
+ 20 => 'Baa',
+ 23 => 'Haa Dhaalu',
+ 24 => 'Shaviyani',
+ 25 => 'Noonu',
+ 26 => 'Kaafu',
+ 27 => 'Gaafu Alifu',
+ 28 => 'Gaafu Dhaalu',
+ 29 => 'Gnaviyani',
+ 'CE' => 'Central',
+ 'MLE' => 'Male',
+ 'NC' => 'North Central',
+ 'NO' => 'North',
+ 'SC' => 'South Central',
+ 'SU' => 'South',
+ 'UN' => 'Upper North',
+ 'US' => 'Upper South',
+ ),
+ 'MW' =>
+ array (
+ 'BA' => 'Balaka',
+ 'BL' => 'Blantyre',
+ 'C' => 'Central Region',
+ 'CK' => 'Chikwawa',
+ 'CR' => 'Chiradzulu',
+ 'CT' => 'Chitipa',
+ 'DE' => 'Dedza',
+ 'DO' => 'Dowa',
+ 'KR' => 'Karonga',
+ 'KS' => 'Kasungu',
+ 'LI' => 'Lilongwe',
+ 'LK' => 'Likoma',
+ 'MC' => 'Mchinji',
+ 'MG' => 'Mangochi',
+ 'MH' => 'Machinga',
+ 'MU' => 'Mulanje',
+ 'MW' => 'Mwanza',
+ 'MZ' => 'Mzimba',
+ 'N' => 'Northern Region',
+ 'NB' => 'Nkhata Bay',
+ 'NE' => 'Neno',
+ 'NI' => 'Ntchisi',
+ 'NK' => 'Nkhotakota',
+ 'NS' => 'Nsanje',
+ 'NU' => 'Ntcheu',
+ 'PH' => 'Phalombe',
+ 'RU' => 'Rumphi',
+ 'S' => 'Southern Region',
+ 'SA' => 'Salima',
+ 'TH' => 'Thyolo',
+ 'ZO' => 'Zomba',
+ ),
+ 'MX' =>
+ array (
+ 'AGU' => 'Aguascalientes',
+ 'BCN' => 'Baja California',
+ 'BCS' => 'Baja California Sur',
+ 'CAM' => 'Campeche',
+ 'CHH' => 'Chihuahua',
+ 'CHP' => 'Chiapas',
+ 'CMX' => 'Ciudad de México',
+ 'COA' => 'Coahuila',
+ 'COL' => 'Colima',
+ 'DIF' => 'Distrito Federal',
+ 'DUR' => 'Durango',
+ 'GRO' => 'Guerrero',
+ 'GUA' => 'Guanajuato',
+ 'HID' => 'Hidalgo',
+ 'JAL' => 'Jalisco',
+ 'MEX' => 'México',
+ 'MIC' => 'Michoacán',
+ 'MOR' => 'Morelos',
+ 'NAY' => 'Nayarit',
+ 'NLE' => 'Nuevo León',
+ 'OAX' => 'Oaxaca',
+ 'PUE' => 'Puebla',
+ 'QUE' => 'Querétaro',
+ 'ROO' => 'Quintana Roo',
+ 'SIN' => 'Sinaloa',
+ 'SLP' => 'San Luis Potosí',
+ 'SON' => 'Sonora',
+ 'TAB' => 'Tabasco',
+ 'TAM' => 'Tamaulipas',
+ 'TLA' => 'Tlaxcala',
+ 'VER' => 'Veracruz',
+ 'YUC' => 'Yucatán',
+ 'ZAC' => 'Zacatecas',
+ ),
+ 'MY' =>
+ array (
+ '01' => 'Johor',
+ '02' => 'Kedah',
+ '03' => 'Kelantan',
+ '04' => 'Melaka',
+ '05' => 'Negeri Sembilan',
+ '06' => 'Pahang',
+ '07' => 'Pulau Pinang',
+ '08' => 'Perak',
+ '09' => 'Perlis',
+ 10 => 'Selangor',
+ 11 => 'Terengganu',
+ 12 => 'Sabah',
+ 13 => 'Sarawak',
+ 14 => 'Wilayah Persekutuan Kuala Lumpur',
+ 15 => 'Wilayah Persekutuan Labuan',
+ 16 => 'Wilayah Persekutuan Putrajaya',
+ ),
+ 'MZ' =>
+ array (
+ 'A' => 'Niassa',
+ 'B' => 'Manica',
+ 'G' => 'Gaza',
+ 'I' => 'Inhambane',
+ 'L' => 'Maputo',
+ 'MPM' => 'Maputo (city)',
+ 'N' => 'Numpula',
+ 'P' => 'Cabo Delgado',
+ 'Q' => 'Zambezia',
+ 'S' => 'Sofala',
+ 'T' => 'Tete',
+ ),
+ 'NA' =>
+ array (
+ 'CA' => 'Caprivi',
+ 'ER' => 'Erongo',
+ 'HA' => 'Hardap',
+ 'KA' => 'Karas',
+ 'KH' => 'Khomas',
+ 'KU' => 'Kunene',
+ 'OD' => 'Otjozondjupa',
+ 'OH' => 'Omaheke',
+ 'OK' => 'Okavango',
+ 'ON' => 'Oshana',
+ 'OS' => 'Omusati',
+ 'OT' => 'Oshikoto',
+ 'OW' => 'Ohangwena',
+ ),
+ 'NE' =>
+ array (
+ 1 => 'Agadez',
+ 2 => 'Diffa',
+ 3 => 'Dosso',
+ 4 => 'Maradi',
+ 5 => 'Tahoua',
+ 6 => 'Tillabéri',
+ 7 => 'Zinder',
+ 8 => 'Niamey',
+ ),
+ 'NG' =>
+ array (
+ 'AB' => 'Abia',
+ 'AD' => 'Adamawa',
+ 'AK' => 'Akwa Ibom',
+ 'AN' => 'Anambra',
+ 'BA' => 'Bauchi',
+ 'BE' => 'Benue',
+ 'BO' => 'Borno',
+ 'BY' => 'Bayelsa',
+ 'CR' => 'Cross River',
+ 'DE' => 'Delta',
+ 'EB' => 'Ebonyi',
+ 'ED' => 'Edo',
+ 'EK' => 'Ekiti',
+ 'EN' => 'Enugu',
+ 'FC' => 'Abuja Capital Territory',
+ 'GO' => 'Gombe',
+ 'IM' => 'Imo',
+ 'JI' => 'Jigawa',
+ 'KD' => 'Kaduna',
+ 'KE' => 'Kebbi',
+ 'KN' => 'Kano',
+ 'KO' => 'Kogi',
+ 'KT' => 'Katsina',
+ 'KW' => 'Kwara',
+ 'LA' => 'Lagos',
+ 'NA' => 'Nassarawa',
+ 'NI' => 'Niger',
+ 'OG' => 'Ogun',
+ 'ON' => 'Ondo',
+ 'OS' => 'Osun',
+ 'OY' => 'Oyo',
+ 'PL' => 'Plateau',
+ 'RI' => 'Rivers',
+ 'SO' => 'Sokoto',
+ 'TA' => 'Taraba',
+ 'YO' => 'Yobe',
+ 'ZA' => 'Zamfara',
+ ),
+ 'NI' =>
+ array (
+ 'AN' => 'Atlántico Norte',
+ 'AS' => 'Atlántico Sur',
+ 'BO' => 'Boaco',
+ 'CA' => 'Carazo',
+ 'CI' => 'Chinandega',
+ 'CO' => 'Chontales',
+ 'ES' => 'Estelí',
+ 'GR' => 'Granada',
+ 'JI' => 'Jinotega',
+ 'LE' => 'León',
+ 'MD' => 'Madriz',
+ 'MN' => 'Managua',
+ 'MS' => 'Masaya',
+ 'MT' => 'Matagalpa',
+ 'NS' => 'Nueva Segovia',
+ 'RI' => 'Rivas',
+ 'SJ' => 'Río San Juan',
+ ),
+ 'NL' =>
+ array (
+ 'AW' => 'Aruba',
+ 'BQ1' => 'Bonaire',
+ 'BQ2' => 'Saba',
+ 'BQ3' => 'Sint Eustatius',
+ 'CW' => 'Curaçao',
+ 'DR' => 'Drenthe',
+ 'FL' => 'Flevoland',
+ 'FR' => 'Friesland',
+ 'GE' => 'Gelderland',
+ 'GR' => 'Groningen',
+ 'LI' => 'Limburg',
+ 'NB' => 'Noord-Brabant',
+ 'NH' => 'Noord-Holland',
+ 'OV' => 'Overijssel',
+ 'SX' => 'Sint Maarten',
+ 'UT' => 'Utrecht',
+ 'ZE' => 'Zeeland',
+ 'ZH' => 'Zuid-Holland',
+ ),
+ 'NO' =>
+ array (
+ '01' => 'Østfold',
+ '02' => 'Akershus',
+ '03' => 'Oslo',
+ '04' => 'Hedmark',
+ '05' => 'Oppland',
+ '06' => 'Buskerud',
+ '07' => 'Vestfold',
+ '08' => 'Telemark',
+ '09' => 'Aust-Agder',
+ 10 => 'Vest-Agder',
+ 11 => 'Rogaland',
+ 12 => 'Hordaland',
+ 14 => 'Sogn og Fjordane',
+ 15 => 'Møre og Romsdal',
+ 16 => 'Sør-Trøndelag',
+ 17 => 'Nord-Trøndelag',
+ 18 => 'Nordland',
+ 19 => 'Troms',
+ 20 => 'Finnmark',
+ 21 => 'Svalbard (Arctic Region)',
+ 22 => 'Jan Mayen (Arctic Region)',
+ ),
+ 'NP' =>
+ array (
+ 1 => 'Madhyamanchal',
+ 2 => 'Madhya Pashchimanchal',
+ 3 => 'Pashchimanchal',
+ 4 => 'Purwanchal',
+ 5 => 'Sudur Pashchimanchal',
+ 'BA' => 'Bagmati',
+ 'BH' => 'Bheri',
+ 'DH' => 'Dhawalagiri',
+ 'GA' => 'Gandaki',
+ 'JA' => 'Janakpur',
+ 'KA' => 'Karnali',
+ 'KO' => 'Kosi',
+ 'LU' => 'Lumbini',
+ 'MA' => 'Mahakali',
+ 'ME' => 'Mechi',
+ 'NA' => 'Narayani',
+ 'RA' => 'Rapti',
+ 'SA' => 'Sagarmatha',
+ 'SE' => 'Seti',
+ ),
+ 'NR' =>
+ array (
+ '01' => 'Aiwo',
+ '02' => 'Anabar',
+ '03' => 'Anetan',
+ '04' => 'Anibare',
+ '05' => 'Baiti',
+ '06' => 'Boe',
+ '07' => 'Buada',
+ '08' => 'Denigomodu',
+ '09' => 'Ewa',
+ 10 => 'Ijuw',
+ 11 => 'Meneng',
+ 12 => 'Nibok',
+ 13 => 'Uaboe',
+ 14 => 'Yaren',
+ ),
+ 'NZ' =>
+ array (
+ 'AUK' => 'Auckland',
+ 'BOP' => 'Bay of Plenty',
+ 'CAN' => 'Canterbury',
+ 'CIT' => 'Chatham Islands Territory',
+ 'GIS' => 'Gisborne District',
+ 'HKB' => 'Hawke\'s Bay',
+ 'MBH' => 'Marlborough District',
+ 'MWT' => 'Manawatu-Wanganui',
+ 'N' => 'North Island',
+ 'NSN' => 'Nelson City',
+ 'NTL' => 'Northland',
+ 'OTA' => 'Otago',
+ 'S' => 'South Island',
+ 'STL' => 'Southland',
+ 'TAS' => 'Tasman District',
+ 'TKI' => 'Taranaki',
+ 'WGN' => 'Wellington',
+ 'WKO' => 'Waikato',
+ 'WTC' => 'West Coast',
+ ),
+ 'OM' =>
+ array (
+ 'BA' => 'Al Bāţinah',
+ 'BU' => 'Al Buraymī',
+ 'DA' => 'Ad Dākhilīya',
+ 'MA' => 'Masqaţ',
+ 'MU' => 'Musandam',
+ 'SH' => 'Ash Sharqīyah',
+ 'WU' => 'Al Wusţá',
+ 'ZA' => 'Az̧ Z̧āhirah',
+ 'ZU' => 'Z̧ufār',
+ ),
+ 'PA' =>
+ array (
+ 1 => 'Bocas del Toro',
+ 2 => 'Coclé',
+ 3 => 'Colón',
+ 4 => 'Chiriquí',
+ 5 => 'Darién',
+ 6 => 'Herrera',
+ 7 => 'Los Santos',
+ 8 => 'Panamá',
+ 9 => 'Veraguas',
+ 'EM' => 'Emberá',
+ 'KY' => 'Kuna Yala',
+ 'NB' => 'Ngöbe-Buglé',
+ ),
+ 'PE' =>
+ array (
+ 'AMA' => 'Amazonas',
+ 'ANC' => 'Ancash',
+ 'APU' => 'Apurímac',
+ 'ARE' => 'Arequipa',
+ 'AYA' => 'Ayacucho',
+ 'CAJ' => 'Cajamarca',
+ 'CAL' => 'El Callao',
+ 'CUS' => 'Cusco [Cuzco]',
+ 'HUC' => 'Huánuco',
+ 'HUV' => 'Huancavelica',
+ 'ICA' => 'Ica',
+ 'JUN' => 'Junín',
+ 'LAL' => 'La Libertad',
+ 'LAM' => 'Lambayeque',
+ 'LIM' => 'Lima',
+ 'LMA' => 'Municipalidad Metropolitana de Lima',
+ 'LOR' => 'Loreto',
+ 'MDD' => 'Madre de Dios',
+ 'MOQ' => 'Moquegua',
+ 'PAS' => 'Pasco',
+ 'PIU' => 'Piura',
+ 'PUN' => 'Puno',
+ 'SAM' => 'San Martín',
+ 'TAC' => 'Tacna',
+ 'TUM' => 'Tumbes',
+ 'UCA' => 'Ucayali',
+ ),
+ 'PG' =>
+ array (
+ 'CPK' => 'Chimbu',
+ 'CPM' => 'Central',
+ 'EBR' => 'East New Britain',
+ 'EHG' => 'Eastern Highlands',
+ 'EPW' => 'Enga',
+ 'ESW' => 'East Sepik',
+ 'GPK' => 'Gulf',
+ 'MBA' => 'Milne Bay',
+ 'MPL' => 'Morobe',
+ 'MPM' => 'Madang',
+ 'MRL' => 'Manus',
+ 'NCD' => 'National Capital District (Port Moresby)',
+ 'NIK' => 'New Ireland',
+ 'NPP' => 'Northern',
+ 'NSB' => 'Bougainville',
+ 'SAN' => 'Sandaun',
+ 'SHM' => 'Southern Highlands',
+ 'WBK' => 'West New Britain',
+ 'WHM' => 'Western Highlands',
+ 'WPD' => 'Western',
+ ),
+ 'PH' =>
+ array (
+ '00' => 'National Capital Region',
+ '01' => 'Ilocos (Region I)',
+ '02' => 'Cagayan Valley (Region II)',
+ '03' => 'Central Luzon (Region III)',
+ '05' => 'Bicol (Region V)',
+ '06' => 'Western Visayas (Region VI)',
+ '07' => 'Central Visayas (Region VII)',
+ '08' => 'Eastern Visayas (Region VIII)',
+ '09' => 'Zamboanga Peninsula (Region IX)',
+ 10 => 'Northern Mindanao (Region X)',
+ 11 => 'Davao (Region XI)',
+ 12 => 'Soccsksargen (Region XII)',
+ 13 => 'Caraga (Region XIII)',
+ 14 => 'Autonomous Region in Muslim Mindanao (ARMM)',
+ 15 => 'Cordillera Administrative Region (CAR)',
+ 40 => 'CALABARZON (Region IV-A)',
+ 41 => 'MIMAROPA (Region IV-B)',
+ 'ABR' => 'Abra',
+ 'AGN' => 'Agusan del Norte',
+ 'AGS' => 'Agusan del Sur',
+ 'AKL' => 'Aklan',
+ 'ALB' => 'Albay',
+ 'ANT' => 'Antique',
+ 'APA' => 'Apayao',
+ 'AUR' => 'Aurora',
+ 'BAN' => 'Batasn',
+ 'BAS' => 'Basilan',
+ 'BEN' => 'Benguet',
+ 'BIL' => 'Biliran',
+ 'BOH' => 'Bohol',
+ 'BTG' => 'Batangas',
+ 'BTN' => 'Batanes',
+ 'BUK' => 'Bukidnon',
+ 'BUL' => 'Bulacan',
+ 'CAG' => 'Cagayan',
+ 'CAM' => 'Camiguin',
+ 'CAN' => 'Camarines Norte',
+ 'CAP' => 'Capiz',
+ 'CAS' => 'Camarines Sur',
+ 'CAT' => 'Catanduanes',
+ 'CAV' => 'Cavite',
+ 'CEB' => 'Cebu',
+ 'COM' => 'Compostela Valley',
+ 'DAO' => 'Davao Oriental',
+ 'DAS' => 'Davao del Sur',
+ 'DAV' => 'Davao del Norte',
+ 'DIN' => 'Dinagat Islands',
+ 'EAS' => 'Eastern Samar',
+ 'GUI' => 'Guimaras',
+ 'IFU' => 'Ifugao',
+ 'ILI' => 'Iloilo',
+ 'ILN' => 'Ilocos Norte',
+ 'ILS' => 'Ilocos Sur',
+ 'ISA' => 'Isabela',
+ 'KAL' => 'Kalinga-Apayso',
+ 'LAG' => 'Laguna',
+ 'LAN' => 'Lanao del Norte',
+ 'LAS' => 'Lanao del Sur',
+ 'LEY' => 'Leyte',
+ 'LUN' => 'La Union',
+ 'MAD' => 'Marinduque',
+ 'MAG' => 'Maguindanao',
+ 'MAS' => 'Masbate',
+ 'MDC' => 'Mindoro Occidental',
+ 'MDR' => 'Mindoro Oriental',
+ 'MOU' => 'Mountain Province',
+ 'MSC' => 'Misamis Occidental',
+ 'MSR' => 'Misamis Oriental',
+ 'NCO' => 'North Cotabato',
+ 'NEC' => 'Negros Occidental',
+ 'NER' => 'Negros Oriental',
+ 'NSA' => 'Northern Samar',
+ 'NUE' => 'Nueva Ecija',
+ 'NUV' => 'Nueva Vizcaya',
+ 'PAM' => 'Pampanga',
+ 'PAN' => 'Pangasinan',
+ 'PLW' => 'Palawan',
+ 'QUE' => 'Quezon',
+ 'QUI' => 'Quirino',
+ 'RIZ' => 'Rizal',
+ 'ROM' => 'Romblon',
+ 'SAR' => 'Sarangani',
+ 'SCO' => 'South Cotabato',
+ 'SIG' => 'Siquijor',
+ 'SLE' => 'Southern Leyte',
+ 'SLU' => 'Sulu',
+ 'SOR' => 'Sorsogon',
+ 'SUK' => 'Sultan Kudarat',
+ 'SUN' => 'Surigao del Norte',
+ 'SUR' => 'Surigao del Sur',
+ 'TAR' => 'Tarlac',
+ 'TAW' => 'Tawi-Tawi',
+ 'WSA' => 'Western Samar',
+ 'ZAN' => 'Zamboanga del Norte',
+ 'ZAS' => 'Zamboanga del Sur',
+ 'ZMB' => 'Zambales',
+ 'ZSI' => 'Zamboanga Sibugay',
+ ),
+ 'PK' =>
+ array (
+ 'BA' => 'Balochistan',
+ 'GB' => 'Gilgit-Baltistan',
+ 'IS' => 'Islamabad',
+ 'JK' => 'Azad Kashmir',
+ 'KP' => 'Khyber Pakhtunkhwa',
+ 'PB' => 'Punjab',
+ 'SD' => 'Sindh',
+ 'TA' => 'Federally Administered Tribal Areas',
+ ),
+ 'PL' =>
+ array (
+ 'DS' => 'Dolnośląskie',
+ 'KP' => 'Kujawsko-pomorskie',
+ 'LB' => 'Lubuskie',
+ 'LD' => 'Łódzkie',
+ 'LU' => 'Lubelskie',
+ 'MA' => 'Małopolskie',
+ 'MZ' => 'Mazowieckie',
+ 'OP' => 'Opolskie',
+ 'PD' => 'Podlaskie',
+ 'PK' => 'Podkarpackie',
+ 'PM' => 'Pomorskie',
+ 'SK' => 'Świętokrzyskie',
+ 'SL' => 'Śląskie',
+ 'WN' => 'Warmińsko-mazurskie',
+ 'WP' => 'Wielkopolskie',
+ 'ZP' => 'Zachodniopomorskie',
+ ),
+ 'PS' =>
+ array (
+ 'BTH' => 'Bethlehem',
+ 'DEB' => 'Deir El Balah',
+ 'GZA' => 'Gaza',
+ 'HBN' => 'Hebron',
+ 'JEM' => 'Jerusalem',
+ 'JEN' => 'Jenin',
+ 'JRH' => 'Jericho - Al Aghwar',
+ 'KYS' => 'Khan Yunis',
+ 'NBS' => 'Nablus',
+ 'NGZ' => 'North Gaza',
+ 'QQA' => 'Qalqilya',
+ 'RBH' => 'Ramallah',
+ 'RFH' => 'Rafah',
+ 'SLT' => 'Salfit',
+ 'TBS' => 'Tubas',
+ 'TKM' => 'Tulkarm',
+ ),
+ 'PT' =>
+ array (
+ '01' => 'Aveiro',
+ '02' => 'Beja',
+ '03' => 'Braga',
+ '04' => 'Bragança',
+ '05' => 'Castelo Branco',
+ '06' => 'Coimbra',
+ '07' => 'Évora',
+ '08' => 'Faro',
+ '09' => 'Guarda',
+ 10 => 'Leiria',
+ 11 => 'Lisboa',
+ 12 => 'Portalegre',
+ 13 => 'Porto',
+ 14 => 'Santarém',
+ 15 => 'Setúbal',
+ 16 => 'Viana do Castelo',
+ 17 => 'Vila Real',
+ 18 => 'Viseu',
+ 20 => 'Região Autónoma dos Açores',
+ 30 => 'Região Autónoma da Madeira',
+ ),
+ 'PW' =>
+ array (
+ '002' => 'Aimeliik',
+ '004' => 'Airai',
+ '010' => 'Angaur',
+ '050' => 'Hatobohei',
+ 100 => 'Kayangel',
+ 150 => 'Koror',
+ 212 => 'Melekeok',
+ 214 => 'Ngaraard',
+ 218 => 'Ngarchelong',
+ 222 => 'Ngardmau',
+ 224 => 'Ngatpang',
+ 226 => 'Ngchesar',
+ 227 => 'Ngeremlengui',
+ 228 => 'Ngiwal',
+ 350 => 'Peleliu',
+ 370 => 'Sonsorol',
+ ),
+ 'PY' =>
+ array (
+ 1 => 'Concepción',
+ 10 => 'Alto Paraná',
+ 11 => 'Central',
+ 12 => 'Ñeembucú',
+ 13 => 'Amambay',
+ 14 => 'Canindeyú',
+ 15 => 'Presidente Hayes',
+ 16 => 'Alto Paraguay',
+ 19 => 'Boquerón',
+ 2 => 'San Pedro',
+ 3 => 'Cordillera',
+ 4 => 'Guairá',
+ 5 => 'Caaguazú',
+ 6 => 'Caazapá',
+ 7 => 'Itapúa',
+ 8 => 'Misiones',
+ 9 => 'Paraguarí',
+ 'ASU' => 'Asunción',
+ ),
+ 'QA' =>
+ array (
+ 'DA' => 'Ad Dawhah',
+ 'KH' => 'Al Khawr wa adh Dhakhīrah',
+ 'MS' => 'Ash Shamal',
+ 'RA' => 'Ar Rayyan',
+ 'SH' => 'Ash Shīḩānīyah',
+ 'US' => 'Umm Salal',
+ 'WA' => 'Al Wakrah',
+ 'ZA' => 'Az̧ Z̧a‘āyin',
+ ),
+ 'RO' =>
+ array (
+ 'AB' => 'Alba',
+ 'AG' => 'Argeș',
+ 'AR' => 'Arad',
+ 'B' => 'București',
+ 'BC' => 'Bacău',
+ 'BH' => 'Bihor',
+ 'BN' => 'Bistrița-Năsăud',
+ 'BR' => 'Brăila',
+ 'BT' => 'Botoșani',
+ 'BV' => 'Brașov',
+ 'BZ' => 'Buzău',
+ 'CJ' => 'Cluj',
+ 'CL' => 'Călărași',
+ 'CS' => 'Caraș-Severin',
+ 'CT' => 'Constanța',
+ 'CV' => 'Covasna',
+ 'DB' => 'Dâmbovița',
+ 'DJ' => 'Dolj',
+ 'GJ' => 'Gorj',
+ 'GL' => 'Galați',
+ 'GR' => 'Giurgiu',
+ 'HD' => 'Hunedoara',
+ 'HR' => 'Harghita',
+ 'IF' => 'Ilfov',
+ 'IL' => 'Ialomița',
+ 'IS' => 'Iași',
+ 'MH' => 'Mehedinți',
+ 'MM' => 'Maramureș',
+ 'MS' => 'Mureș',
+ 'NT' => 'Neamț',
+ 'OT' => 'Olt',
+ 'PH' => 'Prahova',
+ 'SB' => 'Sibiu',
+ 'SJ' => 'Sălaj',
+ 'SM' => 'Satu Mare',
+ 'SV' => 'Suceava',
+ 'TL' => 'Tulcea',
+ 'TM' => 'Timiș',
+ 'TR' => 'Teleorman',
+ 'VL' => 'Vâlcea',
+ 'VN' => 'Vrancea',
+ 'VS' => 'Vaslui',
+ ),
+ 'RS' =>
+ array (
+ '00' => 'Beograd',
+ '01' => 'Severnobački okrug',
+ '02' => 'Srednjebanatski okrug',
+ '03' => 'Severnobanatski okrug',
+ '04' => 'Južnobanatski okrug',
+ '05' => 'Zapadnobački okrug',
+ '06' => 'Južnobački okrug',
+ '07' => 'Sremski okrug',
+ '08' => 'Mačvanski okrug',
+ '09' => 'Kolubarski okrug',
+ 10 => 'Podunavski okrug',
+ 11 => 'Braničevski okrug',
+ 12 => 'Šumadijski okrug',
+ 13 => 'Pomoravski okrug',
+ 14 => 'Borski okrug',
+ 15 => 'Zaječarski okrug',
+ 16 => 'Zlatiborski okrug',
+ 17 => 'Moravički okrug',
+ 18 => 'Raški okrug',
+ 19 => 'Rasinski okrug',
+ 20 => 'Nišavski okrug',
+ 21 => 'Toplički okrug',
+ 22 => 'Pirotski okrug',
+ 23 => 'Jablanički okrug',
+ 24 => 'Pčinjski okrug',
+ 25 => 'Kosovski okrug',
+ 26 => 'Pećki okrug',
+ 27 => 'Prizrenski okrug',
+ 28 => 'Kosovsko-Mitrovački okrug',
+ 29 => 'Kosovsko-Pomoravski okrug',
+ 'KM' => 'Kosovo-Metohija',
+ 'VO' => 'Vojvodina',
+ ),
+ 'RU' =>
+ array (
+ 'AD' => 'Adygeya, Respublika',
+ 'AL' => 'Altay, Respublika',
+ 'ALT' => 'Altayskiy kray',
+ 'AMU' => 'Amurskaya oblast\'',
+ 'ARK' => 'Arkhangel\'skaya oblast\'',
+ 'AST' => 'Astrakhanskaya oblast\'',
+ 'BA' => 'Bashkortostan, Respublika',
+ 'BEL' => 'Belgorodskaya oblast\'',
+ 'BRY' => 'Bryanskaya oblast\'',
+ 'BU' => 'Buryatiya, Respublika',
+ 'CE' => 'Chechenskaya Respublika',
+ 'CHE' => 'Chelyabinskaya oblast\'',
+ 'CHU' => 'Chukotskiy avtonomnyy okrug',
+ 'CU' => 'Chuvashskaya Respublika',
+ 'DA' => 'Dagestan, Respublika',
+ 'IN' => 'Respublika Ingushetiya',
+ 'IRK' => 'Irkutiskaya oblast\'',
+ 'IVA' => 'Ivanovskaya oblast\'',
+ 'KAM' => 'Kamchatskiy kray',
+ 'KB' => 'Kabardino-Balkarskaya Respublika',
+ 'KC' => 'Karachayevo-Cherkesskaya Respublika',
+ 'KDA' => 'Krasnodarskiy kray',
+ 'KEM' => 'Kemerovskaya oblast\'',
+ 'KGD' => 'Kaliningradskaya oblast\'',
+ 'KGN' => 'Kurganskaya oblast\'',
+ 'KHA' => 'Khabarovskiy kray',
+ 'KHM' => 'Khanty-Mansiysky avtonomnyy okrug-Yugra',
+ 'KIR' => 'Kirovskaya oblast\'',
+ 'KK' => 'Khakasiya, Respublika',
+ 'KL' => 'Kalmykiya, Respublika',
+ 'KLU' => 'Kaluzhskaya oblast\'',
+ 'KO' => 'Komi, Respublika',
+ 'KOS' => 'Kostromskaya oblast\'',
+ 'KR' => 'Kareliya, Respublika',
+ 'KRS' => 'Kurskaya oblast\'',
+ 'KYA' => 'Krasnoyarskiy kray',
+ 'LEN' => 'Leningradskaya oblast\'',
+ 'LIP' => 'Lipetskaya oblast\'',
+ 'MAG' => 'Magadanskaya oblast\'',
+ 'ME' => 'Mariy El, Respublika',
+ 'MO' => 'Mordoviya, Respublika',
+ 'MOS' => 'Moskovskaya oblast\'',
+ 'MOW' => 'Moskva',
+ 'MUR' => 'Murmanskaya oblast\'',
+ 'NEN' => 'Nenetskiy avtonomnyy okrug',
+ 'NGR' => 'Novgorodskaya oblast\'',
+ 'NIZ' => 'Nizhegorodskaya oblast\'',
+ 'NVS' => 'Novosibirskaya oblast\'',
+ 'OMS' => 'Omskaya oblast\'',
+ 'ORE' => 'Orenburgskaya oblast\'',
+ 'ORL' => 'Orlovskaya oblast\'',
+ 'PER' => 'Permskiy kray',
+ 'PNZ' => 'Penzenskaya oblast\'',
+ 'PRI' => 'Primorskiy kray',
+ 'PSK' => 'Pskovskaya oblast\'',
+ 'ROS' => 'Rostovskaya oblast\'',
+ 'RYA' => 'Ryazanskaya oblast\'',
+ 'SA' => 'Sakha, Respublika [Yakutiya]',
+ 'SAK' => 'Sakhalinskaya oblast\'',
+ 'SAM' => 'Samaraskaya oblast\'',
+ 'SAR' => 'Saratovskaya oblast\'',
+ 'SE' => 'Severnaya Osetiya-Alaniya, Respublika',
+ 'SMO' => 'Smolenskaya oblast\'',
+ 'SPE' => 'Sankt-Peterburg',
+ 'STA' => 'Stavropol\'skiy kray',
+ 'SVE' => 'Sverdlovskaya oblast\'',
+ 'TA' => 'Tatarstan, Respublika',
+ 'TAM' => 'Tambovskaya oblast\'',
+ 'TOM' => 'Tomskaya oblast\'',
+ 'TUL' => 'Tul\'skaya oblast\'',
+ 'TVE' => 'Tverskaya oblast\'',
+ 'TY' => 'Tyva, Respublika [Tuva]',
+ 'TYU' => 'Tyumenskaya oblast\'',
+ 'UD' => 'Udmurtskaya Respublika',
+ 'ULY' => 'Ul\'yanovskaya oblast\'',
+ 'VGG' => 'Volgogradskaya oblast\'',
+ 'VLA' => 'Vladimirskaya oblast\'',
+ 'VLG' => 'Vologodskaya oblast\'',
+ 'VOR' => 'Voronezhskaya oblast\'',
+ 'YAN' => 'Yamalo-Nenetskiy avtonomnyy okrug',
+ 'YAR' => 'Yaroslavskaya oblast\'',
+ 'YEV' => 'Yevreyskaya avtonomnaya oblast\'',
+ 'ZAB' => 'Zabajkal\'skij kraj',
+ ),
+ 'RW' =>
+ array (
+ '01' => 'Ville de Kigali',
+ '02' => 'Est',
+ '03' => 'Nord',
+ '04' => 'Ouest',
+ '05' => 'Sud',
+ ),
+ 'SA' =>
+ array (
+ '01' => 'Ar Riyāḍ',
+ '02' => 'Makkah',
+ '03' => 'Al Madīnah',
+ '04' => 'Ash Sharqīyah',
+ '05' => 'Al Qaşīm',
+ '06' => 'Ḥā\'il',
+ '07' => 'Tabūk',
+ '08' => 'Al Ḥudūd ash Shamāliyah',
+ '09' => 'Jīzan',
+ 10 => 'Najrān',
+ 11 => 'Al Bāhah',
+ 12 => 'Al Jawf',
+ 14 => '`Asīr',
+ ),
+ 'SB' =>
+ array (
+ 'CE' => 'Central',
+ 'CH' => 'Choiseul',
+ 'CT' => 'Capital Territory (Honiara)',
+ 'GU' => 'Guadalcanal',
+ 'IS' => 'Isabel',
+ 'MK' => 'Makira',
+ 'ML' => 'Malaita',
+ 'RB' => 'Rennell and Bellona',
+ 'TE' => 'Temotu',
+ 'WE' => 'Western',
+ ),
+ 'SC' =>
+ array (
+ '01' => 'Anse aux Pins',
+ '02' => 'Anse Boileau',
+ '03' => 'Anse Etoile',
+ '04' => 'Anse Louis',
+ '05' => 'Anse Royale',
+ '06' => 'Baie Lazare',
+ '07' => 'Baie Sainte Anne',
+ '08' => 'Beau Vallon',
+ '09' => 'Bel Air',
+ 10 => 'Bel Ombre',
+ 11 => 'Cascade',
+ 12 => 'Glacis',
+ 13 => 'Grand Anse Mahe',
+ 14 => 'Grand Anse Praslin',
+ 15 => 'La Digue',
+ 16 => 'English River',
+ 17 => 'Mont Buxton',
+ 18 => 'Mont Fleuri',
+ 19 => 'Plaisance',
+ 20 => 'Pointe Larue',
+ 21 => 'Port Glaud',
+ 22 => 'Saint Louis',
+ 23 => 'Takamaka',
+ 24 => 'Les Mamelles',
+ 25 => 'Roche Caiman',
+ ),
+ 'SD' =>
+ array (
+ 'DC' => 'Zalingei',
+ 'DE' => 'Sharq Dārfūr',
+ 'DN' => 'Shamāl Dārfūr',
+ 'DS' => 'Janūb Dārfūr',
+ 'DW' => 'Gharb Dārfūr',
+ 'GD' => 'Al Qaḑārif',
+ 'GK' => 'Gharb Kurdufān',
+ 'GZ' => 'Al Jazīrah',
+ 'KA' => 'Kassalā',
+ 'KH' => 'Al Kharţūm',
+ 'KN' => 'Shamāl Kurdufān',
+ 'KS' => 'Janūb Kurdufān',
+ 'NB' => 'An Nīl al Azraq',
+ 'NO' => 'Ash Shamālīyah',
+ 'NR' => 'An Nīl',
+ 'NW' => 'An Nīl al Abyaḑ',
+ 'RS' => 'Al Baḩr al Aḩmar',
+ 'SI' => 'Sinnār',
+ ),
+ 'SE' =>
+ array (
+ 'AB' => 'Stockholms län',
+ 'AC' => 'Västerbottens län',
+ 'BD' => 'Norrbottens län',
+ 'C' => 'Uppsala län',
+ 'D' => 'Södermanlands län',
+ 'E' => 'Östergötlands län',
+ 'F' => 'Jönköpings län',
+ 'G' => 'Kronobergs län',
+ 'H' => 'Kalmar län',
+ 'I' => 'Gotlands län',
+ 'K' => 'Blekinge län',
+ 'M' => 'Skåne län',
+ 'N' => 'Hallands län',
+ 'O' => 'Västra Götalands län',
+ 'S' => 'Värmlands län',
+ 'T' => 'Örebro län',
+ 'U' => 'Västmanlands län',
+ 'W' => 'Dalarnas län',
+ 'X' => 'Gävleborgs län',
+ 'Y' => 'Västernorrlands län',
+ 'Z' => 'Jämtlands län',
+ ),
+ 'SG' =>
+ array (
+ '01' => 'Central Singapore',
+ '02' => 'North East',
+ '03' => 'North West',
+ '04' => 'South East',
+ '05' => 'South West',
+ ),
+ 'SH' =>
+ array (
+ 'AC' => 'Ascension',
+ 'HL' => 'Saint Helena',
+ 'TA' => 'Tristan da Cunha',
+ ),
+ 'SI' =>
+ array (
+ '001' => 'Ajdovščina',
+ '002' => 'Beltinci',
+ '003' => 'Bled',
+ '004' => 'Bohinj',
+ '005' => 'Borovnica',
+ '006' => 'Bovec',
+ '007' => 'Brda',
+ '008' => 'Brezovica',
+ '009' => 'Brežice',
+ '010' => 'Tišina',
+ '011' => 'Celje',
+ '012' => 'Cerklje na Gorenjskem',
+ '013' => 'Cerknica',
+ '014' => 'Cerkno',
+ '015' => 'Črenšovci',
+ '016' => 'Črna na Koroškem',
+ '017' => 'Črnomelj',
+ '018' => 'Destrnik',
+ '019' => 'Divača',
+ '020' => 'Dobrepolje',
+ '021' => 'Dobrova-Polhov Gradec',
+ '022' => 'Dol pri Ljubljani',
+ '023' => 'Domžale',
+ '024' => 'Dornava',
+ '025' => 'Dravograd',
+ '026' => 'Duplek',
+ '027' => 'Gorenja vas-Poljane',
+ '028' => 'Gorišnica',
+ '029' => 'Gornja Radgona',
+ '030' => 'Gornji Grad',
+ '031' => 'Gornji Petrovci',
+ '032' => 'Grosuplje',
+ '033' => 'Šalovci',
+ '034' => 'Hrastnik',
+ '035' => 'Hrpelje-Kozina',
+ '036' => 'Idrija',
+ '037' => 'Ig',
+ '038' => 'Ilirska Bistrica',
+ '039' => 'Ivančna Gorica',
+ '040' => 'Izola/Isola',
+ '041' => 'Jesenice',
+ '042' => 'Juršinci',
+ '043' => 'Kamnik',
+ '044' => 'Kanal',
+ '045' => 'Kidričevo',
+ '046' => 'Kobarid',
+ '047' => 'Kobilje',
+ '048' => 'Kočevje',
+ '049' => 'Komen',
+ '050' => 'Koper/Capodistria',
+ '051' => 'Kozje',
+ '052' => 'Kranj',
+ '053' => 'Kranjska Gora',
+ '054' => 'Krško',
+ '055' => 'Kungota',
+ '056' => 'Kuzma',
+ '057' => 'Laško',
+ '058' => 'Lenart',
+ '059' => 'Lendava/Lendva',
+ '060' => 'Litija',
+ '061' => 'Ljubljana',
+ '062' => 'Ljubno',
+ '063' => 'Ljutomer',
+ '064' => 'Logatec',
+ '065' => 'Loška dolina',
+ '066' => 'Loški Potok',
+ '067' => 'Luče',
+ '068' => 'Lukovica',
+ '069' => 'Majšperk',
+ '070' => 'Maribor',
+ '071' => 'Medvode',
+ '072' => 'Mengeš',
+ '073' => 'Metlika',
+ '074' => 'Mežica',
+ '075' => 'Miren-Kostanjevica',
+ '076' => 'Mislinja',
+ '077' => 'Moravče',
+ '078' => 'Moravske Toplice',
+ '079' => 'Mozirje',
+ '080' => 'Murska Sobota',
+ '081' => 'Muta',
+ '082' => 'Naklo',
+ '083' => 'Nazarje',
+ '084' => 'Nova Gorica',
+ '085' => 'Novo mesto',
+ '086' => 'Odranci',
+ '087' => 'Ormož',
+ '088' => 'Osilnica',
+ '089' => 'Pesnica',
+ '090' => 'Piran/Pirano',
+ '091' => 'Pivka',
+ '092' => 'Podčetrtek',
+ '093' => 'Podvelka',
+ '094' => 'Postojna',
+ '095' => 'Preddvor',
+ '096' => 'Ptuj',
+ '097' => 'Puconci',
+ '098' => 'Rače-Fram',
+ '099' => 'Radeče',
+ 100 => 'Radenci',
+ 101 => 'Radlje ob Dravi',
+ 102 => 'Radovljica',
+ 103 => 'Ravne na Koroškem',
+ 104 => 'Ribnica',
+ 105 => 'Rogašovci',
+ 106 => 'Rogaška Slatina',
+ 107 => 'Rogatec',
+ 108 => 'Ruše',
+ 109 => 'Semič',
+ 110 => 'Sevnica',
+ 111 => 'Sežana',
+ 112 => 'Slovenj Gradec',
+ 113 => 'Slovenska Bistrica',
+ 114 => 'Slovenske Konjice',
+ 115 => 'Starče',
+ 116 => 'Sveti Jurij',
+ 117 => 'Šenčur',
+ 118 => 'Šentilj',
+ 119 => 'Šentjernej',
+ 120 => 'Šentjur',
+ 121 => 'Škocjan',
+ 122 => 'Škofja Loka',
+ 123 => 'Škofljica',
+ 124 => 'Šmarje pri Jelšah',
+ 125 => 'Šmartno ob Paki',
+ 126 => 'Šoštanj',
+ 127 => 'Štore',
+ 128 => 'Tolmin',
+ 129 => 'Trbovlje',
+ 130 => 'Trebnje',
+ 131 => 'Tržič',
+ 132 => 'Turnišče',
+ 133 => 'Velenje',
+ 134 => 'Velike Lašče',
+ 135 => 'Videm',
+ 136 => 'Vipava',
+ 137 => 'Vitanje',
+ 138 => 'Vodice',
+ 139 => 'Vojnik',
+ 140 => 'Vrhnika',
+ 141 => 'Vuzenica',
+ 142 => 'Zagorje ob Savi',
+ 143 => 'Zavrč',
+ 144 => 'Zreče',
+ 146 => 'Železniki',
+ 147 => 'Žiri',
+ 148 => 'Benedikt',
+ 149 => 'Bistrica ob Sotli',
+ 150 => 'Bloke',
+ 151 => 'Braslovče',
+ 152 => 'Cankova',
+ 153 => 'Cerkvenjak',
+ 154 => 'Dobje',
+ 155 => 'Dobrna',
+ 156 => 'Dobrovnik/Dobronak',
+ 157 => 'Dolenjske Toplice',
+ 158 => 'Grad',
+ 159 => 'Hajdina',
+ 160 => 'Hoče-Slivnica',
+ 161 => 'Hodoš/Hodos',
+ 162 => 'Horjul',
+ 163 => 'Jezersko',
+ 164 => 'Komenda',
+ 165 => 'Kostel',
+ 166 => 'Križevci',
+ 167 => 'Lovrenc na Pohorju',
+ 168 => 'Markovci',
+ 169 => 'Miklavž na Dravskem polju',
+ 170 => 'Mirna Peč',
+ 171 => 'Oplotnica',
+ 172 => 'Podlehnik',
+ 173 => 'Polzela',
+ 174 => 'Prebold',
+ 175 => 'Prevalje',
+ 176 => 'Razkrižje',
+ 177 => 'Ribnica na Pohorju',
+ 178 => 'Selnica ob Dravi',
+ 179 => 'Sodražica',
+ 180 => 'Solčava',
+ 181 => 'Sveta Ana',
+ 182 => 'Sveta Andraž v Slovenskih Goricah',
+ 183 => 'Šempeter-Vrtojba',
+ 184 => 'Tabor',
+ 185 => 'Trnovska vas',
+ 186 => 'Trzin',
+ 187 => 'Velika Polana',
+ 188 => 'Veržej',
+ 189 => 'Vransko',
+ 190 => 'Žalec',
+ 191 => 'Žetale',
+ 192 => 'Žirovnica',
+ 193 => 'Žužemberk',
+ 194 => 'Šmartno pri Litiji',
+ 195 => 'Apače',
+ 196 => 'Cirkulane',
+ 197 => 'Kosanjevica na Krki',
+ 198 => 'Makole',
+ 199 => 'Mokronog-Trebelno',
+ 200 => 'Poljčane',
+ 201 => 'Renče-Vogrsko',
+ 202 => 'Središče ob Dravi',
+ 203 => 'Straža',
+ 204 => 'Sveta Trojica v Slovenskih Goricah',
+ 205 => 'Sveti Tomaž',
+ 206 => 'Šmarjeske Topliče',
+ 207 => 'Gorje',
+ 208 => 'Log-Dragomer',
+ 209 => 'Rečica ob Savinji',
+ 210 => 'Sveti Jurij v Slovenskih Goricah',
+ 211 => 'Šentrupert',
+ 212 => 'Mirna',
+ 213 => 'Ankaran/Ancarano',
+ ),
+ 'SK' =>
+ array (
+ 'BC' => 'Banskobystrický kraj',
+ 'BL' => 'Bratislavský kraj',
+ 'KI' => 'Košický kraj',
+ 'NI' => 'Nitriansky kraj',
+ 'PV' => 'Prešovský kraj',
+ 'TA' => 'Trnavský kraj',
+ 'TC' => 'Trenčiansky kraj',
+ 'ZI' => 'Žilinský kraj',
+ ),
+ 'SL' =>
+ array (
+ 'E' => 'Eastern',
+ 'N' => 'Northern',
+ 'S' => 'Southern (Sierra Leone)',
+ 'W' => 'Western Area (Freetown)',
+ ),
+ 'SM' =>
+ array (
+ '01' => 'Acquaviva',
+ '02' => 'Chiesanuova',
+ '03' => 'Domagnano',
+ '04' => 'Faetano',
+ '05' => 'Fiorentino',
+ '06' => 'Borgo Maggiore',
+ '07' => 'San Marino',
+ '08' => 'Montegiardino',
+ '09' => 'Serravalle',
+ ),
+ 'SN' =>
+ array (
+ 'DB' => 'Diourbel',
+ 'DK' => 'Dakar',
+ 'FK' => 'Fatick',
+ 'KA' => 'Kaffrine',
+ 'KD' => 'Kolda',
+ 'KE' => 'Kédougou',
+ 'KL' => 'Kaolack',
+ 'LG' => 'Louga',
+ 'MT' => 'Matam',
+ 'SE' => 'Sédhiou',
+ 'SL' => 'Saint-Louis',
+ 'TC' => 'Tambacounda',
+ 'TH' => 'Thiès',
+ 'ZG' => 'Ziguinchor',
+ ),
+ 'SO' =>
+ array (
+ 'AW' => 'Awdal',
+ 'BK' => 'Bakool',
+ 'BN' => 'Banaadir',
+ 'BR' => 'Bari',
+ 'BY' => 'Bay',
+ 'GA' => 'Galguduud',
+ 'GE' => 'Gedo',
+ 'HI' => 'Hiirsan',
+ 'JD' => 'Jubbada Dhexe',
+ 'JH' => 'Jubbada Hoose',
+ 'MU' => 'Mudug',
+ 'NU' => 'Nugaal',
+ 'SA' => 'Saneag',
+ 'SD' => 'Shabeellaha Dhexe',
+ 'SH' => 'Shabeellaha Hoose',
+ 'SO' => 'Sool',
+ 'TO' => 'Togdheer',
+ 'WO' => 'Woqooyi Galbeed',
+ ),
+ 'SR' =>
+ array (
+ 'BR' => 'Brokopondo',
+ 'CM' => 'Commewijne',
+ 'CR' => 'Coronie',
+ 'MA' => 'Marowijne',
+ 'NI' => 'Nickerie',
+ 'PM' => 'Paramaribo',
+ 'PR' => 'Para',
+ 'SA' => 'Saramacca',
+ 'SI' => 'Sipaliwini',
+ 'WA' => 'Wanica',
+ ),
+ 'SS' =>
+ array (
+ 'BN' => 'Northern Bahr el-Ghazal',
+ 'BW' => 'Western Bahr el-Ghazal',
+ 'EC' => 'Central Equatoria',
+ 'EE' => 'Eastern Equatoria',
+ 'EW' => 'Western Equatoria',
+ 'JG' => 'Jonglei',
+ 'LK' => 'Lakes',
+ 'NU' => 'Upper Nile',
+ 'UY' => 'Unity',
+ 'WR' => 'Warrap',
+ ),
+ 'ST' =>
+ array (
+ 'P' => 'Príncipe',
+ 'S' => 'São Tomé',
+ ),
+ 'SV' =>
+ array (
+ 'AH' => 'Ahuachapán',
+ 'CA' => 'Cabañas',
+ 'CH' => 'Chalatenango',
+ 'CU' => 'Cuscatlán',
+ 'LI' => 'La Libertad',
+ 'MO' => 'Morazán',
+ 'PA' => 'La Paz',
+ 'SA' => 'Santa Ana',
+ 'SM' => 'San Miguel',
+ 'SO' => 'Sonsonate',
+ 'SS' => 'San Salvador',
+ 'SV' => 'San Vicente',
+ 'UN' => 'La Unión',
+ 'US' => 'Usulután',
+ ),
+ 'SY' =>
+ array (
+ 'DI' => 'Dimashq',
+ 'DR' => 'Dar\'a',
+ 'DY' => 'Dayr az Zawr',
+ 'HA' => 'Al Hasakah',
+ 'HI' => 'Homs',
+ 'HL' => 'Halab',
+ 'HM' => 'Hamah',
+ 'ID' => 'Idlib',
+ 'LA' => 'Al Ladhiqiyah',
+ 'QU' => 'Al Qunaytirah',
+ 'RA' => 'Ar Raqqah',
+ 'RD' => 'Rif Dimashq',
+ 'SU' => 'As Suwayda\'',
+ 'TA' => 'Tartus',
+ ),
+ 'SZ' =>
+ array (
+ 'HH' => 'Hhohho',
+ 'LU' => 'Lubombo',
+ 'MA' => 'Manzini',
+ 'SH' => 'Shiselweni',
+ ),
+ 'TD' =>
+ array (
+ 'BA' => 'Al Baṭḩah',
+ 'BG' => 'Baḩr al Ghazāl',
+ 'BO' => 'Būrkū',
+ 'CB' => 'Shārī Bāqirmī',
+ 'EN' => 'Innīdī',
+ 'GR' => 'Qīrā',
+ 'HL' => 'Ḥajjar Lamīs',
+ 'KA' => 'Kānim',
+ 'LC' => 'Al Buḩayrah',
+ 'LO' => 'Lūqūn al Gharbī',
+ 'LR' => 'Lūqūn ash Sharqī',
+ 'MA' => 'Māndūl',
+ 'MC' => 'Shārī al Awsaṭ',
+ 'ME' => 'Māyū Kībbī ash Sharqī',
+ 'MO' => 'Māyū Kībbī al Gharbī',
+ 'ND' => 'Madīnat Injamīnā',
+ 'OD' => 'Waddāy',
+ 'SA' => 'Salāmāt',
+ 'SI' => 'Sīlā',
+ 'TA' => 'Tānjilī',
+ 'TI' => 'Tibastī',
+ 'WF' => 'Wādī Fīrā',
+ ),
+ 'TG' =>
+ array (
+ 'C' => 'Région du Centre',
+ 'K' => 'Région de la Kara',
+ 'M' => 'Région Maritime',
+ 'P' => 'Région des Plateaux',
+ 'S' => 'Région des Savannes',
+ ),
+ 'TH' =>
+ array (
+ 10 => 'Krung Thep Maha Nakhon Bangkok',
+ 11 => 'Samut Prakan',
+ 12 => 'Nonthaburi',
+ 13 => 'Pathum Thani',
+ 14 => 'Phra Nakhon Si Ayutthaya',
+ 15 => 'Ang Thong',
+ 16 => 'Lop Buri',
+ 17 => 'Sing Buri',
+ 18 => 'Chai Nat',
+ 19 => 'Saraburi',
+ 20 => 'Chon Buri',
+ 21 => 'Rayong',
+ 22 => 'Chanthaburi',
+ 23 => 'Trat',
+ 24 => 'Chachoengsao',
+ 25 => 'Prachin Buri',
+ 26 => 'Nakhon Nayok',
+ 27 => 'Sa Kaeo',
+ 30 => 'Nakhon Ratchasima',
+ 31 => 'Buri Ram',
+ 32 => 'Surin',
+ 33 => 'Si Sa Ket',
+ 34 => 'Ubon Ratchathani',
+ 35 => 'Yasothon',
+ 36 => 'Chaiyaphum',
+ 37 => 'Amnat Charoen',
+ 38 => 'Bueng Kan',
+ 39 => 'Nong Bua Lam Phu',
+ 40 => 'Khon Kaen',
+ 41 => 'Udon Thani',
+ 42 => 'Loei',
+ 43 => 'Nong Khai',
+ 44 => 'Maha Sarakham',
+ 45 => 'Roi Et',
+ 46 => 'Kalasin',
+ 47 => 'Sakon Nakhon',
+ 48 => 'Nakhon Phanom',
+ 49 => 'Mukdahan',
+ 50 => 'Chiang Mai',
+ 51 => 'Lamphun',
+ 52 => 'Lampang',
+ 53 => 'Uttaradit',
+ 54 => 'Phrae',
+ 55 => 'Nan',
+ 56 => 'Phayao',
+ 57 => 'Chiang Rai',
+ 58 => 'Mae Hong Son',
+ 60 => 'Nakhon Sawan',
+ 61 => 'Uthai Thani',
+ 62 => 'Kamphaeng Phet',
+ 63 => 'Tak',
+ 64 => 'Sukhothai',
+ 65 => 'Phitsanulok',
+ 66 => 'Phichit',
+ 67 => 'Phetchabun',
+ 70 => 'Ratchaburi',
+ 71 => 'Kanchanaburi',
+ 72 => 'Suphan Buri',
+ 73 => 'Nakhon Pathom',
+ 74 => 'Samut Sakhon',
+ 75 => 'Samut Songkhram',
+ 76 => 'Phetchaburi',
+ 77 => 'Prachuap Khiri Khan',
+ 80 => 'Nakhon Si Thammarat',
+ 81 => 'Krabi',
+ 82 => 'Phangnga',
+ 83 => 'Phuket',
+ 84 => 'Surat Thani',
+ 85 => 'Ranong',
+ 86 => 'Chumphon',
+ 90 => 'Songkhla',
+ 91 => 'Satun',
+ 92 => 'Trang',
+ 93 => 'Phatthalung',
+ 94 => 'Pattani',
+ 95 => 'Yala',
+ 96 => 'Narathiwat',
+ 'S' => 'Phatthaya',
+ ),
+ 'TJ' =>
+ array (
+ 'DU' => 'Dushanbe',
+ 'GB' => 'Gorno-Badakhshan',
+ 'KT' => 'Khatlon',
+ 'RA' => 'Nohiyahoi Tobei Jumhurí',
+ 'SU' => 'Sughd',
+ ),
+ 'TL' =>
+ array (
+ 'AL' => 'Aileu',
+ 'AN' => 'Ainaro',
+ 'BA' => 'Baucau',
+ 'BO' => 'Bobonaro',
+ 'CO' => 'Cova Lima',
+ 'DI' => 'Díli',
+ 'ER' => 'Ermera',
+ 'LA' => 'Lautem',
+ 'LI' => 'Liquiça',
+ 'MF' => 'Manufahi',
+ 'MT' => 'Manatuto',
+ 'OE' => 'Oecussi',
+ 'VI' => 'Viqueque',
+ ),
+ 'TM' =>
+ array (
+ 'A' => 'Ahal',
+ 'B' => 'Balkan',
+ 'D' => 'Daşoguz',
+ 'L' => 'Lebap',
+ 'M' => 'Mary',
+ 'S' => 'Aşgabat',
+ ),
+ 'TN' =>
+ array (
+ 11 => 'Tunis',
+ 12 => 'Ariana',
+ 13 => 'Ben Arous',
+ 14 => 'La Manouba',
+ 21 => 'Nabeul',
+ 22 => 'Zaghouan',
+ 23 => 'Bizerte',
+ 31 => 'Béja',
+ 32 => 'Jendouba',
+ 33 => 'Le Kef',
+ 34 => 'Siliana',
+ 41 => 'Kairouan',
+ 42 => 'Kasserine',
+ 43 => 'Sidi Bouzid',
+ 51 => 'Sousse',
+ 52 => 'Monastir',
+ 53 => 'Mahdia',
+ 61 => 'Sfax',
+ 71 => 'Gafsa',
+ 72 => 'Tozeur',
+ 73 => 'Kebili',
+ 81 => 'Gabès',
+ 82 => 'Medenine',
+ 83 => 'Tataouine',
+ ),
+ 'TO' =>
+ array (
+ '01' => '\'Eua',
+ '02' => 'Ha\'apai',
+ '03' => 'Niuas',
+ '04' => 'Tongatapu',
+ '05' => 'Vava\'u',
+ ),
+ 'TR' =>
+ array (
+ '01' => 'Adana',
+ '02' => 'Adıyaman',
+ '03' => 'Afyonkarahisar',
+ '04' => 'Ağrı',
+ '05' => 'Amasya',
+ '06' => 'Ankara',
+ '07' => 'Antalya',
+ '08' => 'Artvin',
+ '09' => 'Aydın',
+ 10 => 'Balıkesir',
+ 11 => 'Bilecik',
+ 12 => 'Bingöl',
+ 13 => 'Bitlis',
+ 14 => 'Bolu',
+ 15 => 'Burdur',
+ 16 => 'Bursa',
+ 17 => 'Çanakkale',
+ 18 => 'Çankırı',
+ 19 => 'Çorum',
+ 20 => 'Denizli',
+ 21 => 'Diyarbakır',
+ 22 => 'Edirne',
+ 23 => 'Elazığ',
+ 24 => 'Erzincan',
+ 25 => 'Erzurum',
+ 26 => 'Eskişehir',
+ 27 => 'Gaziantep',
+ 28 => 'Giresun',
+ 29 => 'Gümüşhane',
+ 30 => 'Hakkâri',
+ 31 => 'Hatay',
+ 32 => 'Isparta',
+ 33 => 'Mersin',
+ 34 => 'İstanbul',
+ 35 => 'İzmir',
+ 36 => 'Kars',
+ 37 => 'Kastamonu',
+ 38 => 'Kayseri',
+ 39 => 'Kırklareli',
+ 40 => 'Kırşehir',
+ 41 => 'Kocaeli',
+ 42 => 'Konya',
+ 43 => 'Kütahya',
+ 44 => 'Malatya',
+ 45 => 'Manisa',
+ 46 => 'Kahramanmaraş',
+ 47 => 'Mardin',
+ 48 => 'Muğla',
+ 49 => 'Muş',
+ 50 => 'Nevşehir',
+ 51 => 'Niğde',
+ 52 => 'Ordu',
+ 53 => 'Rize',
+ 54 => 'Sakarya',
+ 55 => 'Samsun',
+ 56 => 'Siirt',
+ 57 => 'Sinop',
+ 58 => 'Sivas',
+ 59 => 'Tekirdağ',
+ 60 => 'Tokat',
+ 61 => 'Trabzon',
+ 62 => 'Tunceli',
+ 63 => 'Şanlıurfa',
+ 64 => 'Uşak',
+ 65 => 'Van',
+ 66 => 'Yozgat',
+ 67 => 'Zonguldak',
+ 68 => 'Aksaray',
+ 69 => 'Bayburt',
+ 70 => 'Karaman',
+ 71 => 'Kırıkkale',
+ 72 => 'Batman',
+ 73 => 'Şırnak',
+ 74 => 'Bartın',
+ 75 => 'Ardahan',
+ 76 => 'Iğdır',
+ 77 => 'Yalova',
+ 78 => 'Karabük',
+ 79 => 'Kilis',
+ 80 => 'Osmaniye',
+ 81 => 'Düzce',
+ ),
+ 'TT' =>
+ array (
+ 'ARI' => 'Arima',
+ 'CHA' => 'Chaguanas',
+ 'CTT' => 'Couva-Tabaquite-Talparo',
+ 'DMN' => 'Diego Martin',
+ 'ETO' => 'Eastern Tobago',
+ 'MRC' => 'Mayaro-Rio Claro',
+ 'PED' => 'Penal-Debe',
+ 'POS' => 'Port of Spain',
+ 'PRT' => 'Princes Town',
+ 'PTF' => 'Point Fortin',
+ 'RCM' => 'Rio Claro-Mayaro',
+ 'SFO' => 'San Fernando',
+ 'SGE' => 'Sangre Grande',
+ 'SIP' => 'Siparia',
+ 'SJL' => 'San Juan-Laventille',
+ 'TOB' => 'Tobago',
+ 'TUP' => 'Tunapuna-Piarco',
+ 'WTO' => 'Western Tobago',
+ ),
+ 'TV' =>
+ array (
+ 'FUN' => 'Funafuti',
+ 'NIT' => 'Niutao',
+ 'NKF' => 'Nukufetau',
+ 'NKL' => 'Nukulaelae',
+ 'NMA' => 'Nanumea',
+ 'NMG' => 'Nanumanga',
+ 'NUI' => 'Nui',
+ 'VAI' => 'Vaitupu',
+ ),
+ 'TW' =>
+ array (
+ 'CHA' => 'Changhua',
+ 'CYI' => 'Chiay City',
+ 'CYQ' => 'Chiayi',
+ 'HSQ' => 'Hsinchu',
+ 'HSZ' => 'Hsinchui City',
+ 'HUA' => 'Hualien',
+ 'ILA' => 'Ilan',
+ 'KEE' => 'Keelung City',
+ 'KHH' => 'Kaohsiung City',
+ 'KHQ' => 'Kaohsiung',
+ 'MIA' => 'Miaoli',
+ 'NAN' => 'Nantou',
+ 'PEN' => 'Penghu',
+ 'PIF' => 'Pingtung',
+ 'TAO' => 'Taoyuan',
+ 'TNN' => 'Tainan City',
+ 'TNQ' => 'Tainan',
+ 'TPE' => 'Taipei City',
+ 'TPQ' => 'Taipei',
+ 'TTT' => 'Taitung',
+ 'TXG' => 'Taichung City',
+ 'TXQ' => 'Taichung',
+ 'YUN' => 'Yunlin',
+ ),
+ 'TZ' =>
+ array (
+ '01' => 'Arusha',
+ '02' => 'Dar-es-Salaam',
+ '03' => 'Dodoma',
+ '04' => 'Iringa',
+ '05' => 'Kagera',
+ '06' => 'Kaskazini Pemba',
+ '07' => 'Kaskazini Unguja',
+ '08' => 'Kigoma',
+ '09' => 'Kilimanjaro',
+ 10 => 'Kusini Pemba',
+ 11 => 'Kusini Unguja',
+ 12 => 'Lindi',
+ 13 => 'Mara',
+ 14 => 'Mbeya',
+ 15 => 'Mjini Magharibi',
+ 16 => 'Morogoro',
+ 17 => 'Mtwara',
+ 18 => 'Mwanza',
+ 19 => 'Pwani',
+ 20 => 'Rukwa',
+ 21 => 'Ruvuma',
+ 22 => 'Shinyanga',
+ 23 => 'Singida',
+ 24 => 'Tabora',
+ 25 => 'Tanga',
+ 26 => 'Manyara',
+ ),
+ 'UA' =>
+ array (
+ '05' => 'Vinnyts\'ka Oblast\'',
+ '07' => 'Volyns\'ka Oblast\'',
+ '09' => 'Luhans\'ka Oblast\'',
+ 12 => 'Dnipropetrovs\'ka Oblast\'',
+ 14 => 'Donets\'ka Oblast\'',
+ 18 => 'Zhytomyrs\'ka Oblast\'',
+ 21 => 'Zakarpats\'ka Oblast\'',
+ 23 => 'Zaporiz\'ka Oblast\'',
+ 26 => 'Ivano-Frankivs\'ka Oblast\'',
+ 30 => 'Kyïvs\'ka mis\'ka rada',
+ 32 => 'Kyïvs\'ka Oblast\'',
+ 35 => 'Kirovohrads\'ka Oblast\'',
+ 40 => 'Sevastopol',
+ 43 => 'Respublika Krym',
+ 46 => 'L\'vivs\'ka Oblast\'',
+ 48 => 'Mykolaïvs\'ka Oblast\'',
+ 51 => 'Odes\'ka Oblast\'',
+ 53 => 'Poltavs\'ka Oblast\'',
+ 56 => 'Rivnens\'ka Oblast\'',
+ 59 => 'Sums \'ka Oblast\'',
+ 61 => 'Ternopil\'s\'ka Oblast\'',
+ 63 => 'Kharkivs\'ka Oblast\'',
+ 65 => 'Khersons\'ka Oblast\'',
+ 68 => 'Khmel\'nyts\'ka Oblast\'',
+ 71 => 'Cherkas\'ka Oblast\'',
+ 74 => 'Chernihivs\'ka Oblast\'',
+ 77 => 'Chernivets\'ka Oblast\'',
+ ),
+ 'UG' =>
+ array (
+ 101 => 'Kalangala',
+ 102 => 'Kampala',
+ 103 => 'Kiboga',
+ 104 => 'Luwero',
+ 105 => 'Masaka',
+ 106 => 'Mpigi',
+ 107 => 'Mubende',
+ 108 => 'Mukono',
+ 109 => 'Nakasongola',
+ 110 => 'Rakai',
+ 111 => 'Sembabule',
+ 112 => 'Kayunga',
+ 113 => 'Wakiso',
+ 114 => 'Mityana',
+ 115 => 'Nakaseke',
+ 116 => 'Lyantonde',
+ 201 => 'Bugiri',
+ 202 => 'Busia',
+ 203 => 'Iganga',
+ 204 => 'Jinja',
+ 205 => 'Kamuli',
+ 206 => 'Kapchorwa',
+ 207 => 'Katakwi',
+ 208 => 'Kumi',
+ 209 => 'Mbale',
+ 210 => 'Pallisa',
+ 211 => 'Soroti',
+ 212 => 'Tororo',
+ 213 => 'Kaberamaido',
+ 214 => 'Mayuge',
+ 215 => 'Sironko',
+ 216 => 'Amuria',
+ 217 => 'Budaka',
+ 218 => 'Bukwa',
+ 219 => 'Butaleja',
+ 220 => 'Kaliro',
+ 221 => 'Manafwa',
+ 222 => 'Namutumba',
+ 223 => 'Bududa',
+ 224 => 'Bukedea',
+ 301 => 'Adjumani',
+ 302 => 'Apac',
+ 303 => 'Arua',
+ 304 => 'Gulu',
+ 305 => 'Kitgum',
+ 306 => 'Kotido',
+ 307 => 'Lira',
+ 308 => 'Moroto',
+ 309 => 'Moyo',
+ 310 => 'Nebbi',
+ 311 => 'Nakapiripirit',
+ 312 => 'Pader',
+ 313 => 'Yumbe',
+ 314 => 'Amolatar',
+ 315 => 'Kaabong',
+ 316 => 'Koboko',
+ 317 => 'Abim',
+ 318 => 'Dokolo',
+ 319 => 'Amuru',
+ 320 => 'Maracha',
+ 321 => 'Oyam',
+ 401 => 'Bundibugyo',
+ 402 => 'Bushenyi',
+ 403 => 'Hoima',
+ 404 => 'Kabale',
+ 405 => 'Kabarole',
+ 406 => 'Kasese',
+ 407 => 'Kibaale',
+ 408 => 'Kisoro',
+ 409 => 'Masindi',
+ 410 => 'Mbarara',
+ 411 => 'Ntungamo',
+ 412 => 'Rukungiri',
+ 413 => 'Kamwenge',
+ 414 => 'Kanungu',
+ 415 => 'Kyenjojo',
+ 416 => 'Ibanda',
+ 417 => 'Isingiro',
+ 418 => 'Kiruhura',
+ 419 => 'Buliisa',
+ 'C' => 'Central',
+ 'E' => 'Eastern',
+ 'N' => 'Northern',
+ 'W' => 'Western',
+ ),
+ 'UM' =>
+ array (
+ 67 => 'Johnston Atoll',
+ 71 => 'Midway Islands',
+ 76 => 'Navassa Island',
+ 79 => 'Wake Island',
+ 81 => 'Baker Island',
+ 84 => 'Howland Island',
+ 86 => 'Jarvis Island',
+ 89 => 'Kingman Reef',
+ 95 => 'Palmyra Atoll',
+ ),
+ 'US' =>
+ array (
+ 'AK' => 'Alaska',
+ 'AL' => 'Alabama',
+ 'AR' => 'Arkansas',
+ 'AS' => 'American Samoa',
+ 'AZ' => 'Arizona',
+ 'CA' => 'California',
+ 'CO' => 'Colorado',
+ 'CT' => 'Connecticut',
+ 'DC' => 'District of Columbia',
+ 'DE' => 'Delaware',
+ 'FL' => 'Florida',
+ 'GA' => 'Georgia',
+ 'GU' => 'Guam',
+ 'HI' => 'Hawaii',
+ 'IA' => 'Iowa',
+ 'ID' => 'Idaho',
+ 'IL' => 'Illinois',
+ 'IN' => 'Indiana',
+ 'KS' => 'Kansas',
+ 'KY' => 'Kentucky',
+ 'LA' => 'Louisiana',
+ 'MA' => 'Massachusetts',
+ 'MD' => 'Maryland',
+ 'ME' => 'Maine',
+ 'MI' => 'Michigan',
+ 'MN' => 'Minnesota',
+ 'MO' => 'Missouri',
+ 'MP' => 'Northern Mariana Islands',
+ 'MS' => 'Mississippi',
+ 'MT' => 'Montana',
+ 'NC' => 'North Carolina',
+ 'ND' => 'North Dakota',
+ 'NE' => 'Nebraska',
+ 'NH' => 'New Hampshire',
+ 'NJ' => 'New Jersey',
+ 'NM' => 'New Mexico',
+ 'NV' => 'Nevada',
+ 'NY' => 'New York',
+ 'OH' => 'Ohio',
+ 'OK' => 'Oklahoma',
+ 'OR' => 'Oregon',
+ 'PA' => 'Pennsylvania',
+ 'PR' => 'Puerto Rico',
+ 'RI' => 'Rhode Island',
+ 'SC' => 'South Carolina',
+ 'SD' => 'South Dakota',
+ 'TN' => 'Tennessee',
+ 'TX' => 'Texas',
+ 'UM' => 'United States Minor Outlying Islands',
+ 'UT' => 'Utah',
+ 'VA' => 'Virginia',
+ 'VI' => 'Virgin Islands',
+ 'VT' => 'Vermont',
+ 'WA' => 'Washington',
+ 'WI' => 'Wisconsin',
+ 'WV' => 'West Virginia',
+ 'WY' => 'Wyoming',
+ ),
+ 'UY' =>
+ array (
+ 'AR' => 'Artigas',
+ 'CA' => 'Canelones',
+ 'CL' => 'Cerro Largo',
+ 'CO' => 'Colonia',
+ 'DU' => 'Durazno',
+ 'FD' => 'Florida',
+ 'FS' => 'Flores',
+ 'LA' => 'Lavalleja',
+ 'MA' => 'Maldonado',
+ 'MO' => 'Montevideo',
+ 'PA' => 'Paysandú',
+ 'RN' => 'Río Negro',
+ 'RO' => 'Rocha',
+ 'RV' => 'Rivera',
+ 'SA' => 'Salto',
+ 'SJ' => 'San José',
+ 'SO' => 'Soriano',
+ 'TA' => 'Tacuarembó',
+ 'TT' => 'Treinta y Tres',
+ ),
+ 'UZ' =>
+ array (
+ 'AN' => 'Andijon',
+ 'BU' => 'Buxoro',
+ 'FA' => 'Farg\'ona',
+ 'JI' => 'Jizzax',
+ 'NG' => 'Namangan',
+ 'NW' => 'Navoiy',
+ 'QA' => 'Qashqadaryo',
+ 'QR' => 'Qoraqalpog\'iston Respublikasi',
+ 'SA' => 'Samarqand',
+ 'SI' => 'Sirdaryo',
+ 'SU' => 'Surxondaryo',
+ 'TK' => 'Toshkent',
+ 'TO' => 'Toshkent',
+ 'XO' => 'Xorazm',
+ ),
+ 'VC' =>
+ array (
+ '01' => 'Charlotte',
+ '02' => 'Saint Andrew',
+ '03' => 'Saint David',
+ '04' => 'Saint George',
+ '05' => 'Saint Patrick',
+ '06' => 'Grenadines',
+ ),
+ 'VE' =>
+ array (
+ 'A' => 'Distrito Federal',
+ 'B' => 'Anzoátegui',
+ 'C' => 'Apure',
+ 'D' => 'Aragua',
+ 'E' => 'Barinas',
+ 'F' => 'Bolívar',
+ 'G' => 'Carabobo',
+ 'H' => 'Cojedes',
+ 'I' => 'Falcón',
+ 'J' => 'Guárico',
+ 'K' => 'Lara',
+ 'L' => 'Mérida',
+ 'M' => 'Miranda',
+ 'N' => 'Monagas',
+ 'O' => 'Nueva Esparta',
+ 'P' => 'Portuguesa',
+ 'R' => 'Sucre',
+ 'S' => 'Táchira',
+ 'T' => 'Trujillo',
+ 'U' => 'Yaracuy',
+ 'V' => 'Zulia',
+ 'W' => 'Dependencias Federales',
+ 'X' => 'Vargas',
+ 'Y' => 'Delta Amacuro',
+ 'Z' => 'Amazonas',
+ ),
+ 'VN' =>
+ array (
+ '01' => 'Lai Châu',
+ '02' => 'Lào Cai',
+ '03' => 'Hà Giang',
+ '04' => 'Cao Bằng',
+ '05' => 'Sơn La',
+ '06' => 'Yên Bái',
+ '07' => 'Tuyên Quang',
+ '09' => 'Lạng Sơn',
+ 13 => 'Quảng Ninh',
+ 14 => 'Hoà Bình',
+ 15 => 'Hà Tây',
+ 18 => 'Ninh Bình',
+ 20 => 'Thái Bình',
+ 21 => 'Thanh Hóa',
+ 22 => 'Nghệ An',
+ 23 => 'Hà Tỉnh',
+ 24 => 'Quảng Bình',
+ 25 => 'Quảng Trị',
+ 26 => 'Thừa Thiên-Huế',
+ 27 => 'Quảng Nam',
+ 28 => 'Kon Tum',
+ 29 => 'Quảng Ngãi',
+ 30 => 'Gia Lai',
+ 31 => 'Bình Định',
+ 32 => 'Phú Yên',
+ 33 => 'Đắc Lắk',
+ 34 => 'Khánh Hòa',
+ 35 => 'Lâm Đồng',
+ 36 => 'Ninh Thuận',
+ 37 => 'Tây Ninh',
+ 39 => 'Đồng Nai',
+ 40 => 'Bình Thuận',
+ 41 => 'Long An',
+ 43 => 'Bà Rịa-Vũng Tàu',
+ 44 => 'An Giang',
+ 45 => 'Đồng Tháp',
+ 46 => 'Tiền Giang',
+ 47 => 'Kiên Giang',
+ 49 => 'Vĩnh Long',
+ 50 => 'Bến Tre',
+ 51 => 'Trà Vinh',
+ 52 => 'Sóc Trăng',
+ 53 => 'Bắc Kạn',
+ 54 => 'Bắc Giang',
+ 55 => 'Bạc Liêu',
+ 56 => 'Bắc Ninh',
+ 57 => 'Bình Dương',
+ 58 => 'Bình Phước',
+ 59 => 'Cà Mau',
+ 61 => 'Hải Duong',
+ 63 => 'Hà Nam',
+ 66 => 'Hưng Yên',
+ 67 => 'Nam Định',
+ 68 => 'Phú Thọ',
+ 69 => 'Thái Nguyên',
+ 70 => 'Vĩnh Phúc',
+ 71 => 'Điện Biên',
+ 72 => 'Đắk Nông',
+ 73 => 'Hậu Giang',
+ 'CT' => 'Cần Thơ',
+ 'DN' => 'Đà Nẵng',
+ 'HN' => 'Hà Nội',
+ 'HP' => 'Hải Phòng',
+ 'SG' => 'Hồ Chí Minh [Sài Gòn]',
+ ),
+ 'VU' =>
+ array (
+ 'MAP' => 'Malampa',
+ 'PAM' => 'Pénama',
+ 'SAM' => 'Sanma',
+ 'SEE' => 'Shéfa',
+ 'TAE' => 'Taféa',
+ 'TOB' => 'Torba',
+ ),
+ 'WS' =>
+ array (
+ 'AA' => 'A\'ana',
+ 'AL' => 'Aiga-i-le-Tai',
+ 'AT' => 'Atua',
+ 'FA' => 'Fa\'asaleleaga',
+ 'GE' => 'Gaga\'emauga',
+ 'GI' => 'Gagaifomauga',
+ 'PA' => 'Palauli',
+ 'SA' => 'Satupa\'itea',
+ 'TU' => 'Tuamasaga',
+ 'VF' => 'Va\'a-o-Fonoti',
+ 'VS' => 'Vaisigano',
+ ),
+ 'YE' =>
+ array (
+ 'AB' => 'Abyān',
+ 'AD' => '\'Adan',
+ 'AM' => '\'Amrān',
+ 'BA' => 'Al Bayḑā\'',
+ 'DA' => 'Aḑ Ḑāli‘',
+ 'DH' => 'Dhamār',
+ 'HD' => 'Ḩaḑramawt',
+ 'HJ' => 'Ḩajjah',
+ 'HU' => 'Al Ḩudaydah',
+ 'IB' => 'Ibb',
+ 'JA' => 'Al Jawf',
+ 'LA' => 'Laḩij',
+ 'MA' => 'Ma\'rib',
+ 'MR' => 'Al Mahrah',
+ 'MU' => 'Al Ḩudaydah',
+ 'MW' => 'Al Maḩwīt',
+ 'RA' => 'Raymah',
+ 'SD' => 'Şa\'dah',
+ 'SH' => 'Shabwah',
+ 'SN' => 'Şan\'ā\'',
+ 'TA' => 'Tā\'izz',
+ ),
+ 'ZA' =>
+ array (
+ 'EC' => 'Eastern Cape',
+ 'FS' => 'Free State',
+ 'GT' => 'Gauteng',
+ 'LP' => 'Limpopo',
+ 'MP' => 'Mpumalanga',
+ 'NC' => 'Northern Cape',
+ 'NL' => 'Kwazulu-Natal',
+ 'NW' => 'North-West (South Africa)',
+ 'WC' => 'Western Cape',
+ 'ZN' => 'Kwazulu-Natal',
+ ),
+ 'ZM' =>
+ array (
+ '01' => 'Western',
+ '02' => 'Central',
+ '03' => 'Eastern',
+ '04' => 'Luapula',
+ '05' => 'Northern',
+ '06' => 'North-Western',
+ '07' => 'Southern (Zambia)',
+ '08' => 'Copperbelt',
+ '09' => 'Lusaka',
+ ),
+ 'ZW' =>
+ array (
+ 'BU' => 'Bulawayo',
+ 'HA' => 'Harare',
+ 'MA' => 'Manicaland',
+ 'MC' => 'Mashonaland Central',
+ 'ME' => 'Mashonaland East',
+ 'MI' => 'Midlands',
+ 'MN' => 'Matabeleland North',
+ 'MS' => 'Matabeleland South',
+ 'MV' => 'Masvingo',
+ 'MW' => 'Mashonaland West',
+ ),
+); \ No newline at end of file
diff --git a/plugins/GeoIp2/data/regionMapping.php b/plugins/GeoIp2/data/regionMapping.php
new file mode 100644
index 0000000000..92d10ce356
--- /dev/null
+++ b/plugins/GeoIp2/data/regionMapping.php
@@ -0,0 +1,4635 @@
+<?php
+
+return [
+ 'AD' => [
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ ],
+ 'AE' => [
+ '01' => 'AZ',
+ '02' => 'AJ',
+ '03' => 'DU',
+ '04' => 'FU',
+ '05' => 'RK',
+ '06' => 'SH',
+ '07' => 'UQ',
+ ],
+ 'AF' => [
+ '01' => 'BDS', // Badakhshan
+ '02' => 'BDG', // Badghis
+ '03' => 'BGL', // Baghlan
+ '05' => 'BAM', // Bamian
+ '06' => 'FRA', // Farah
+ '07' => 'FYB', // Faryab
+ '08' => 'GHA', // Ghazni
+ '09' => 'GHO', // Ghowr
+ '10' => 'HEL', // Helmand
+ '11' => 'HER', // Herat
+ '13' => 'KAB', // Kabol
+ '14' => 'KAP', // Kapisa
+ '17' => 'LOG', // Lowgar
+ '18' => 'NAN', // Nangarhar
+ '19' => 'NIM', // Nimruz
+ '23' => 'KAN', // Kandahar
+ '24' => 'KDZ', // Kondoz
+ '26' => 'TAK', // Takhar
+ '27' => 'WAR', // Vardak
+ '28' => 'ZAB', // Zabol
+ '29' => 'PKA', // Paktika
+ '30' => 'BAL', // Balkh
+ '31' => 'JOW', // Jowzjan
+ '32' => 'SAM', // Samangan
+ '33' => 'SAR', // Sar-e Pol
+ '34' => 'KNR', // Konar
+ '35' => 'LAG', // Laghman
+ '36' => 'PIA', // Paktia
+ '37' => 'KHO', // Khowst
+ '38' => 'NUR', // Nurestan
+ '39' => 'URU', // Oruzgan
+ '40' => 'PAR', // Parvan
+ '41' => 'DAY', // Daykondi
+ '42' => 'PAN', // Panjshir
+ ],
+ 'AG' => [
+ '01' => '10',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '11',
+ ],
+ 'AL' => [
+ '40' => '01',
+ '41' => '09',
+ '42' => '02',
+ '43' => '03',
+ '44' => '04',
+ '45' => '05',
+ '46' => '06',
+ '47' => '07',
+ '48' => '08',
+ '49' => '10',
+ '50' => '11',
+ '51' => '12',
+ ],
+ 'AM' => [
+ '01' => 'AG',
+ '02' => 'AR',
+ '03' => 'AV',
+ '04' => 'GR',
+ '05' => 'KT',
+ '06' => 'LO',
+ '07' => 'SH',
+ '08' => 'SU',
+ '09' => 'TV',
+ '10' => 'VD',
+ '11' => 'ER',
+ ],
+ 'AO' => [
+ '01' => 'BGU',
+ '02' => 'BIE',
+ '03' => 'CAB',
+ '04' => 'CCU',
+ '05' => 'CNO',
+ '06' => 'CUS',
+ '07' => 'CNN',
+ '08' => 'HUA',
+ '09' => 'HUI',
+ '12' => 'MAL',
+ '13' => 'NAM',
+ '14' => 'MOX',
+ '15' => 'UIG',
+ '16' => 'ZAI',
+ '17' => 'LNO',
+ '18' => 'LSU',
+ '19' => 'BGO',
+ '20' => 'LUA',
+ ],
+ 'AR' => [
+ '01' => 'B',
+ '02' => 'K',
+ '03' => 'H',
+ '04' => 'U',
+ '05' => 'X',
+ '06' => 'W',
+ '07' => 'C',
+ '08' => 'E',
+ '09' => 'P',
+ '10' => 'Y',
+ '11' => 'L',
+ '12' => 'F',
+ '13' => 'M',
+ '14' => 'N',
+ '15' => 'Q',
+ '16' => 'R',
+ '17' => 'A',
+ '18' => 'J',
+ '19' => 'D',
+ '20' => 'Z',
+ '21' => 'S',
+ '22' => 'G',
+ '23' => 'V',
+ '24' => 'T',
+ ],
+ 'AT' => [
+ '01' => '1',
+ '02' => '2',
+ '03' => '3',
+ '04' => '4',
+ '05' => '5',
+ '06' => '6',
+ '07' => '7',
+ '08' => '8',
+ '09' => '9',
+ ],
+ 'AU' => [
+ '01' => 'ACT',
+ '02' => 'NSW',
+ '03' => 'NT',
+ '04' => 'QLD',
+ '05' => 'SA',
+ '06' => 'TAS',
+ '07' => 'VIC',
+ '08' => 'WA',
+ ],
+ 'AZ' => [
+ '01' => 'ABS', // Abseron
+ '02' => 'AGC', // Agcabadi
+ '03' => 'AGM', // Agdam
+ '04' => 'AGS', // Agdas
+ '05' => 'AGA', // Agstafa
+ '06' => 'AGU', // Agsu
+ '07' => '', // Ali Bayramli
+ '08' => 'AST', // Astara
+ '09' => 'BA', // Baki
+ '10' => 'BAL', // Balakan
+ '11' => 'BAR', // Barda
+ '12' => 'BEY', // Beylaqan
+ '13' => 'BIL', // Bilasuvar
+ '14' => 'CAB', // Cabrayil
+ '15' => 'CAL', // Calilabad
+ '16' => 'DAS', // Daskasan
+ '17' => '', // Davaci
+ '18' => 'FUZ', // Fuzuli
+ '19' => 'GAD', // Gadabay
+ '20' => 'GA', // Ganca
+ '21' => 'GOR', // Goranboy
+ '22' => 'GOY', // Goycay
+ '23' => 'HAC', // Haciqabul
+ '24' => 'IMI', // Imisli
+ '25' => 'ISM', // Ismayilli
+ '26' => 'KAL', // Kalbacar
+ '27' => 'KUR', // Kurdamir
+ '28' => 'LAC', // Lacin
+ '29' => 'LAN', // Lankaran
+ '30' => 'LA', // Lankaran city
+ '31' => 'LER', // Lerik
+ '32' => 'MAS', // Masalli
+ '33' => 'MI', // Mingacevir
+ '34' => 'NA', // Naftalan
+ '35' => 'NV', // Naxcivan
+ '36' => 'NEF', // Neftcala
+ '37' => 'OGU', // Oguz
+ '38' => 'QAB', // Qabala
+ '39' => 'QAX', // Qax
+ '40' => 'QAZ', // Qazax
+ '41' => 'QOB', // Qobustan
+ '42' => 'QBA', // Quba
+ '43' => 'QBI', // Qubadli
+ '44' => 'QUS', // Qusar
+ '45' => 'SAT', // Saatli
+ '46' => 'SAB', // Sabirabad
+ '47' => 'SAK', // Saki
+ '48' => 'SA', // Saki
+ '49' => 'SAL', // Salyan
+ '50' => 'SMI', // Samaxi
+ '51' => 'SKR', // Samkir
+ '52' => 'SMX', // Samux
+ '53' => 'SIY', // Siyazan
+ '54' => 'SM', // Sumqayit
+ '55' => 'SUS', // Susa
+ '56' => 'SUS', // Susa City Şuşa used to have SS, but was deleted in 2011. See https://en.wikipedia.org/wiki/ISO_3166-2:AZ#Changes. Now maps to region Şuşa [SUS]
+ '57' => 'TAR', // Tartar
+ '58' => 'TOV', // Tovuz
+ '59' => 'UCA', // Ucar
+ '60' => 'XAC', // Xacmaz
+ '61' => 'XA', // Xankandi
+ '62' => 'GYG', // Xanlar
+ '63' => 'XIZ', // Xizi
+ '64' => 'XCI', // Xocali
+ '65' => 'XVD', // Xocavand
+ '66' => 'YAR', // Yardimli
+ '67' => 'YEV', // Yevlax
+ '68' => 'YE', // Yevlax
+ '69' => 'ZAN', // Zangilan
+ '70' => 'ZAQ', // Zaqatala
+ '71' => 'ZAR', // Zardab
+ ],
+ 'BA' => [
+ '01' => 'BIH',
+ '02' => 'SRP',
+
+ // invalid codes [used by maxmind]
+ '03' => 'BRC' // Brčko distrikt was added in 2010. See https://en.wikipedia.org/wiki/ISO_3166-2:BA#Changes
+ ],
+ 'BB' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ '10' => '10',
+ '11' => '11',
+ ],
+ 'BD' => [
+ '81' => 'C',
+ '82' => 'D',
+ '83' => 'E',
+ '84' => 'B',
+ '85' => 'A',
+ '86' => 'G',
+
+ // invalid codes [used by maxmind]
+ '87' => 'F' // Rangpur added in 2011. See https://en.wikipedia.org/wiki/ISO_3166-2:BD#Changes
+ ],
+ 'BE' => [
+ '01' => 'VAN',
+ '03' => 'WHT',
+ '04' => 'WLG',
+ '05' => 'VLI',
+ '06' => 'WLX',
+ '07' => 'WNA',
+ '08' => 'VOV',
+ '09' => 'VWV',
+ '10' => 'WBR',
+ '11' => 'BRU',
+ '12' => 'VBR',
+
+ // Conventional FIPS codes that are not listed on wikidata
+ '13' => 'VLG', // Flanders
+ '14' => 'WAL' // Wallonia
+ ],
+ 'BF' => [
+ '15' => 'BAM', // Bam
+ '19' => 'BLK', // Boulkiemde
+ '20' => 'GAN', // Ganzourgou
+ '21' => 'GNA', // Gnagna
+ '28' => 'KOT', // Kouritenga
+ '33' => 'OUD', // Oudalan
+ '34' => 'PAS', // Passore
+ '36' => 'SNG', // Sanguie
+ '40' => 'SOM', // Soum
+ '42' => 'TAP', // Tapoa
+ '44' => 'ZOU', // Zoundweogo
+ '45' => 'BAL', // Bale
+ '46' => 'BAN', // Banwa
+ '47' => 'BAZ', // Bazega
+ '48' => 'BGR', // Bougouriba
+ '49' => 'BLG', // Boulgou
+ '50' => 'GOU', // Gourma
+ '51' => 'HOU', // Houet
+ '52' => 'IOB', // Ioba
+ '53' => 'KAD', // Kadiogo
+ '54' => 'KEN', // Kenedougou
+ '55' => 'COM', // Komoe
+ '56' => 'KMD', // Komondjari
+ '57' => 'KMP', // Kompienga
+ '58' => 'KOS', // Kossi
+ '59' => 'KOP', // Koulpelogo
+ '60' => 'KOW', // Kourweogo
+ '61' => 'LER', // Leraba
+ '62' => 'LOR', // Loroum
+ '63' => 'MOU', // Mouhoun
+ '64' => 'NAM', // Namentenga
+ '65' => 'NAO', // Naouri
+ '66' => 'NAY', // Nayala
+ '67' => 'NOU', // Noumbiel
+ '68' => 'OUB', // Oubritenga
+ '69' => 'PON', // Poni
+ '70' => 'SMT', // Sanmatenga
+ '71' => 'SEN', // Seno
+ '72' => 'SIS', // Sissili
+ '73' => 'SOR', // Sourou
+ '74' => 'TUI', // Tuy
+ '75' => 'YAG', // Yagha
+ '76' => 'YAT', // Yatenga
+ '77' => 'ZIR', // Ziro
+ '78' => 'ZON', // Zondoma
+ ],
+ 'BG' => [
+ '38' => '01',
+ '39' => '02',
+ '40' => '08',
+ '41' => '07',
+ '42' => '23',
+ '43' => '26',
+ '44' => '09',
+ '45' => '10',
+ '46' => '11',
+ '47' => '12',
+ '48' => '13',
+ '49' => '14',
+ '50' => '15',
+ '51' => '16',
+ '52' => '17',
+ '53' => '18',
+ '54' => '27',
+ '55' => '19',
+ '56' => '20',
+ '57' => '21',
+ '58' => '23',
+ '59' => '24',
+ '60' => '25',
+ '61' => '03',
+ '62' => '04',
+ '63' => '05',
+ '64' => '06',
+ '65' => '28',
+
+ // Mikhaylovgrad seems to be a city in the region Montana
+ '33' => '12'
+ ],
+ 'BH' => [
+ '01' => '15', // Al Hadd => Muharraq Governorate (https://en.wikipedia.org/wiki/Al_Hidd)
+ '02' => '13', // Al Manamah => Capital Governorate (https://en.wikipedia.org/wiki/Manama)
+ '05' => '', // Jidd Hafs => Capital and Northern Governorate 13/17 (https://en.wikipedia.org/wiki/Jidhafs)
+ '06' => '', // Sitrah => Capital and Southern Governorate 13/14 (https://en.wikipedia.org/wiki/Sitra)
+ '08' => '', // Al Mintaqah al Gharbiyah => Northern and Southern Governorate 17/14 (https://en.wikipedia.org/wiki/Western_Region,_Bahrain)
+ '09' => '14', // Mintaqat Juzur Hawar => Southern Governorate (https://en.wikipedia.org/wiki/Hawar_Islands)
+ '10' => '17', // Al Mintaqah ash Shamaliyah => Northern Governorate (https://en.wikipedia.org/wiki/Northern_Region,_Bahrain)
+ '11' => '', // Al Mintaqah al Wusta => Capital and Northern Governorates 13/17 (https://en.wikipedia.org/wiki/Central_Region,_Bahrain)
+ '12' => '14', // Madīnat ٰĪsá => seems to be Southern Governorate based on the maps shown on wikipedia (https://en.wikipedia.org/wiki/Isa_Town)
+ '13' => '14', // Ar Rifa => Southern Governorates (https://en.wikipedia.org/wiki/Rifa_and_Southern_Region,_Bahrain)
+ '14' => '17', // Madinat Hamad => Northern Governorate (https://en.wikipedia.org/wiki/Hamad_Town)
+ '15' => '15',
+ '16' => '13',
+ '17' => '14',
+ '18' => '17',
+ '19' => '', // seems to be Southern and Northern Governorate 14/17 based on the maps shown on wikipedia (https://en.wikipedia.org/wiki/Isa_Town)
+ ],
+ 'BI' => [
+ '02' => '', // Bujumbura was splitted into Bujumbura Mairie (BM) and Bujumbura Rural (BL) in 2010
+ '09' => 'BB',
+ '10' => 'BR',
+ '11' => 'CA',
+ '12' => 'CI',
+ '13' => 'GI',
+ '14' => 'KR',
+ '15' => 'KY',
+ '16' => 'KI',
+ '17' => 'MA',
+ '18' => 'MY',
+ '19' => 'NG',
+ '20' => 'RT',
+ '21' => 'RY',
+ '22' => 'MU',
+ '23' => 'MW',
+ ],
+ 'BJ' => [
+ '07' => 'AL',
+ '08' => 'AK',
+ '09' => 'AQ',
+ '10' => 'BO',
+ '11' => 'CO',
+ '12' => 'KO',
+ '13' => 'DO',
+ '14' => 'LI',
+ '15' => 'MO',
+ '16' => 'OU',
+ '17' => 'PL',
+ '18' => 'ZO',
+ ],
+ 'BM' => [
+ // ISO 3166-2 does not define any subdivisions of Bermuda, so simply remove them (https://en.wikipedia.org/wiki/ISO_3166-2:BM)
+ '01' => '',
+ '02' => '',
+ '03' => '',
+ '04' => '',
+ '05' => '',
+ '06' => '',
+ '07' => '',
+ '08' => '',
+ '09' => '',
+ '10' => '',
+ '11' => '',
+ ],
+ 'BN' => [
+ // Seems Maxmind totally screwed up the region codes for Brunei
+ // They used the codes for Benin (which has BN as FIPS country code) and replaced those codes available for Brunei
+
+ // valid codes
+ '08' => 'BE', // Belait
+ '09' => 'BM', // Brunei and Muara
+ '10' => 'TE', // Temburong
+ '15' => 'TU', // Tutong
+
+ // invalid codes that should not occur
+ '07' => '', // Alibori
+ '11' => '', // Collines
+ '12' => '', // Kouffo
+ '13' => '', // Donga
+ '14' => '', // Littoral
+ '16' => '', // Oueme
+ '17' => '', // Plateau
+ '18' => '', // Zou
+ ],
+ 'BO' => [
+ '01' => 'H',
+ '02' => 'C',
+ '03' => 'B',
+ '04' => 'L',
+ '05' => 'O',
+ '06' => 'N',
+ '07' => 'P',
+ '08' => 'S',
+ '09' => 'T',
+ ],
+ 'BR' => [
+ '01' => 'AC',
+ '02' => 'AL',
+ '03' => 'AP',
+ '04' => 'AM',
+ '05' => 'BA',
+ '06' => 'CE',
+ '07' => 'DF',
+ '08' => 'ES',
+ '11' => 'MS',
+ '13' => 'MA',
+ '14' => 'MT',
+ '15' => 'MG',
+ '16' => 'PA',
+ '17' => 'PB',
+ '18' => 'PR',
+ '20' => 'PI',
+ '21' => 'RJ',
+ '22' => 'RN',
+ '23' => 'RS',
+ '24' => 'RO',
+ '25' => 'RR',
+ '26' => 'SC',
+ '27' => 'SP',
+ '28' => 'SE',
+ '29' => 'GO',
+ '30' => 'PE',
+ '31' => 'TO',
+ ],
+ 'BS' => [
+ '05' => 'BI', // Bimini
+ '06' => 'CI', // Cat Island
+ '10' => 'EX', // Exuma
+ '13' => 'IN', // Inagua
+ '15' => 'LI', // Long Island
+ '16' => 'MG', // Mayaguana
+ '18' => 'RI', // Ragged Island
+ '22' => 'HI', // Harbour Island
+ '23' => '', // New Providence deleted in 2011 - without replacement (https://en.wikipedia.org/wiki/ISO_3166-2:BS#Changes)
+ '24' => '', // Acklins and Crooked Islands [now two seperate codes AK & CK]
+ '25' => 'FP', // Freeport
+ '26' => 'CS', // Fresh Creek [is now roughly Central Andros]
+ '27' => 'CE', // Governor's Harbour [is now roughly Central Eleuthera]
+ '28' => 'HT', // Green Turtle Cay - mapped to GT by wikidata, but removed in 2010 - now HT according to geonames (http://www.geonames.org/maps/google_26.758_-77.325.html)
+ '29' => 'EG', // High Rock [is now roughly East Grand Bahama]
+ '30' => 'SA', // Kemps Bay [now in South Andros]
+ '31' => '', // Marsh Harbour
+ '32' => '', // Nichollstown and Berry Islands
+ '33' => 'SE', // Rock Sound [is now roughly South Eleuthera]
+ '34' => '', // Sandy Point
+ '35' => '', // San Salvador and Rum Cay [now two seperate codes SS & RC]
+ ],
+ 'BT' => [
+ '05' => '33',
+ '06' => '12',
+ '07' => '21',
+ '08' => '22',
+ '09' => '31',
+ '10' => '13',
+ '11' => '44',
+ '12' => '42',
+ '13' => '11',
+ '14' => '43',
+ '15' => '23',
+ '16' => '14', // Samtse
+ '17' => '45',
+ '18' => '34', // Zhemgang
+ '19' => '41',
+ '20' => '15',
+ '21' => '32', // Tongsa
+ '22' => '24', // Wangdi Phodrang
+ ],
+ 'BW' => [
+ '01' => 'CE',
+ '03' => 'GH',
+ '04' => 'KG',
+ '05' => 'KL',
+ '06' => 'KW',
+ '08' => 'NE',
+ '09' => 'SE',
+ '10' => 'SO',
+ '11' => 'NW',
+ ],
+ 'BY' => [
+ '01' => 'BR',
+ '02' => 'HO',
+ '03' => 'HR',
+ '04' => 'HM',
+ '05' => 'MI',
+ '06' => 'MA',
+ '07' => 'VI',
+ ],
+ 'BZ' => [
+ '01' => 'BZ',
+ '02' => 'CY',
+ '03' => 'CZL',
+ '04' => 'OW',
+ '05' => 'SC',
+ '06' => 'TOL',
+ ],
+ 'CD' => [
+ '01' => '', // Bandundu [split up]
+ '02' => 'EQ', // Equateur
+ '04' => 'KE', // Kasai-Oriental
+ '05' => '', // Katanga [split up]
+ '06' => 'KN', // Kinshasa
+ '08' => 'BC', // Bas-Congo
+ '09' => '', // Orientale [split up]
+ '10' => 'MA', // Maniema
+ '11' => 'NK', // Nord-Kivu
+ '12' => 'SK', // Sud-Kivu
+
+ // valid codes [not used by maxmind]
+ '03' => '', // Kasaï-Occidental [split up]
+ ],
+ 'CF' => [
+ '01' => 'BB',
+ '02' => 'BK',
+ '03' => 'HK',
+ '04' => 'HS',
+ '05' => 'HM',
+ '06' => 'KG',
+ '07' => 'LB',
+ '08' => 'MB',
+ '09' => 'NM',
+ '11' => 'UK',
+ '12' => 'AC',
+ '13' => 'OP',
+ '14' => 'VK',
+ '15' => 'KB',
+ '16' => 'SE',
+ '17' => 'MP',
+ '18' => 'BGF',
+ ],
+ 'CG' => [
+ '01' => '11',
+ '04' => '5',
+ '05' => '2',
+ '06' => '7',
+ '07' => '9',
+ '08' => '14',
+ '10' => '13',
+ '11' => '12',
+ '12' => 'BZV',
+ '13' => '8',
+ '14' => '15',
+ ],
+ 'CH' => [
+ '01' => 'AG',
+ '02' => 'AR',
+ '03' => 'BL',
+ '04' => 'BS',
+ '05' => 'BE',
+ '06' => 'FR',
+ '07' => 'GE',
+ '08' => 'GL',
+ '09' => 'GR',
+ '10' => 'AI',
+ '11' => 'LU',
+ '12' => 'NE',
+ '13' => 'NW',
+ '14' => 'OW',
+ '15' => 'SG',
+ '16' => 'SH',
+ '17' => 'SZ',
+ '18' => 'SO',
+ '19' => 'TG',
+ '20' => 'TI',
+ '21' => 'UR',
+ '22' => 'VS',
+ '23' => 'VD',
+ '24' => 'ZG',
+ '25' => 'ZH',
+ '26' => 'JU',
+ ],
+ 'CI' => [
+ '74' => 'LG', // Agneby [now part of Lagunes]
+ '75' => 'WR', // Bafing [now part of Woroba]
+ '76' => 'BS', // Bas-Sassandra
+ '77' => 'DN', // Denguele
+ '78' => 'MG', // Dix-Huit Montagnes
+ '79' => 'GD', // Fromager [now part of Gôh-Djiboua]
+ '80' => 'SM', // Haut-Sassandra
+ '81' => 'LC', // Lacs
+ '82' => 'LG', // Lagunes
+ '83' => 'SM', // Marahoue
+ '84' => 'MG', // Moyen-Cavally [now part of Montagnes]
+ '85' => 'CM', // Moyen-Comoe [now part of Comoé]
+ '86' => 'LC', // N'zi-Comoe [now part of Lacs]
+ '87' => 'SV', // Savanes
+ '88' => '', // Sud-Bandama [spit up]
+ '89' => 'CM', // Sud-Comoe
+ '90' => 'VB', // Vallee du Bandama
+ '91' => 'WR', // Worodougou [now part of Woroba]
+ '92' => 'ZZ', // Zanzan
+ ],
+ 'CL' => [
+ '01' => 'VS',
+ '02' => 'AI',
+ '03' => 'AN',
+ '04' => 'AR',
+ '05' => 'AT',
+ '06' => 'BI',
+ '07' => 'CO',
+ '08' => 'LI',
+ '10' => 'MA',
+ '11' => 'ML',
+ '12' => 'RM',
+ '14' => 'LL',
+ '15' => 'TA',
+ '16' => 'AP',
+ '17' => 'LR',
+
+ // mapped based on their names (https://en.wikipedia.org/wiki/ISO_3166-2:CL)
+ '09' => 'LL', // Los Lagos
+ '13' => 'TA', // Tarapaca
+ ],
+ 'CM' => [
+ '04' => 'ES',
+ '05' => 'LT',
+ '07' => 'NW',
+ '08' => 'OU',
+ '09' => 'SW',
+ '10' => 'AD',
+ '11' => 'CE',
+ '12' => 'EN',
+ '13' => 'NO',
+ '14' => 'SU',
+ ],
+ 'CN' => [
+ '01' => 'AH',
+ '02' => 'ZJ',
+ '03' => 'JX',
+ '04' => 'JS',
+ '05' => 'JL',
+ '06' => 'QH',
+ '07' => 'FJ',
+ '08' => 'HL',
+ '09' => 'HA',
+ '10' => 'HE',
+ '11' => 'HN',
+ '12' => 'HB',
+ '13' => 'XJ',
+ '14' => 'XZ',
+ '15' => 'GS',
+ '16' => 'GX',
+ '18' => 'GZ',
+ '19' => 'LN',
+ '20' => 'NM',
+ '21' => 'NX',
+ '22' => 'BJ',
+ '23' => 'SH',
+ '24' => 'SX',
+ '25' => 'SD',
+ '26' => 'SN',
+ '28' => 'TJ',
+ '29' => 'YN',
+ '30' => 'GD',
+ '31' => 'HI',
+ '32' => 'SC',
+ '33' => 'CQ',
+ ],
+ 'CO' => [
+ '01' => 'AMA',
+ '02' => 'ANT',
+ '03' => 'ARA',
+ '04' => 'ATL',
+ '08' => 'CAQ',
+ '09' => 'CAU',
+ '10' => 'CES',
+ '11' => 'CHO',
+ '12' => 'COR',
+ '14' => 'GUV',
+ '15' => 'GUA',
+ '16' => 'HUI',
+ '17' => 'LAG',
+ '19' => 'MET',
+ '20' => 'NAR',
+ '21' => 'NSA',
+ '22' => 'PUT',
+ '23' => 'QUI',
+ '24' => 'RIS',
+ '25' => 'SAP',
+ '26' => 'SAN',
+ '27' => 'SUC',
+ '28' => 'TOL',
+ '29' => 'VAC',
+ '30' => 'VAU',
+ '31' => 'VID',
+ '32' => 'CAS',
+ '33' => 'CUN',
+ '34' => 'DC',
+ '35' => 'BOL',
+ '36' => 'BOY',
+ '37' => 'CAL',
+ '38' => 'MAG',
+ ],
+ 'CR' => [
+ '01' => 'A',
+ '02' => 'C',
+ '03' => 'G',
+ '04' => 'H',
+ '06' => 'L',
+ '07' => 'P',
+ '08' => 'SJ',
+ ],
+ 'CU' => [
+ '01' => '01', // Pinar del Rio
+ '02' => '', // Ciudad de la Habana was splitted in 2011 into 15 & 16 (https://en.wikipedia.org/wiki/ISO_3166-2:CU)
+ '03' => '04', // Matanzas
+ '04' => '99', // Isla de la Juventud
+ '05' => '09', // Camaguey
+ '07' => '08', // Ciego de Avila
+ '08' => '06', // Cienfuegos
+ '09' => '12', // Granma
+ '10' => '14', // Guantanamo
+ '11' => '03', // La Habana
+ '12' => '11', // Holguin
+ '13' => '10', // Las Tunas
+ '14' => '07', // Sancti Spiritus
+ '15' => '13', // Santiago de Cuba
+ '16' => '05', // Villa Clara
+ ],
+ 'CV' => [
+ '01' => 'BV',
+ '02' => 'BR',
+ '04' => 'MA',
+ '05' => 'PA',
+ '07' => 'RG',
+ '08' => 'SL',
+ '10' => '', // Sao Nicolau was splitted in 2005 into Ribeira Brava (BR) & Tarrafal de São Nicolau (TS) (https://en.wikipedia.org/wiki/ISO_3166-2:CV)
+ '11' => 'SV',
+ '13' => 'MO',
+ '14' => 'PR',
+ '15' => 'CA',
+ '16' => 'CR',
+ '17' => 'SD',
+ '18' => 'SF',
+ '19' => 'SM',
+ '20' => 'TA',
+ ],
+ 'CY' => [
+ '01' => '04',
+ '02' => '06',
+ '03' => '03',
+ '04' => '01',
+ '05' => '02',
+ '06' => '05',
+ ],
+ 'CZ' => [
+ '52' => '10',
+ '78' => '64',
+ '79' => '31',
+ '80' => '63',
+ '81' => '41',
+ '82' => '52',
+ '83' => '51',
+ '84' => '71',
+ '85' => '80',
+ '86' => '53',
+ '87' => '32',
+ '88' => '20',
+ '89' => '42',
+ '90' => '72',
+ ],
+ 'DE' => [
+ '01' => 'BW',
+ '02' => 'BY',
+ '03' => 'HB',
+ '04' => 'HH',
+ '05' => 'HE',
+ '06' => 'NI',
+ '07' => 'NW',
+ '08' => 'RP',
+ '09' => 'SL',
+ '10' => 'SH',
+ '11' => 'BB',
+ '12' => 'MV',
+ '13' => 'SN',
+ '14' => 'ST',
+ '15' => 'TH',
+ '16' => 'BE',
+ ],
+ 'DJ' => [
+ '01' => 'AS',
+ '04' => 'OB',
+ '05' => 'TA',
+ '06' => 'DI',
+ '07' => 'DJ',
+ '08' => 'AR',
+ ],
+ 'DK' => [
+ '17' => '84',
+ '18' => '82',
+ '19' => '81',
+ '20' => '85',
+ '21' => '83',
+ ],
+ 'DM' => [
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ '10' => '10',
+ '11' => '11',
+ ],
+ 'DO' => [
+ '01' => '02',
+ '02' => '03',
+ '03' => '04',
+ '04' => '05',
+ '05' => '01', // Distrito Nacional
+ '06' => '06',
+ '08' => '09',
+ '09' => '10',
+ '10' => '11',
+ '11' => '07',
+ '12' => '12',
+ '14' => '14',
+ '15' => '15',
+ '16' => '16',
+ '17' => '17', // Peravia
+ '18' => '18',
+ '19' => '19',
+ '20' => '20',
+ '21' => '24',
+ '23' => '22',
+ '24' => '23',
+ '25' => '25',
+ '26' => '26',
+ '27' => '27',
+ '28' => '08',
+ '29' => '30',
+ '30' => '13',
+ '31' => '28',
+ '32' => '29',
+ '33' => '21',
+ '34' => '01',
+ '35' => '17',
+ '36' => '31',
+ '37' => '32',
+ ],
+ 'DZ' => [
+ '01' => '16',
+ '03' => '05',
+ '04' => '25',
+ '06' => '26',
+ '07' => '27',
+ '09' => '31',
+ '10' => '20',
+ '12' => '19',
+ '13' => '14',
+ '14' => '15',
+ '15' => '13',
+ '18' => '06',
+ '19' => '07',
+ '20' => '09',
+ '21' => '10',
+ '22' => '17',
+ '23' => '24',
+ '24' => '18',
+ '25' => '03',
+ '26' => '29',
+ '27' => '28',
+ '29' => '04',
+ '30' => '22',
+ '31' => '21',
+ '33' => '12',
+ '34' => '01',
+ '35' => '44',
+ '36' => '46',
+ '37' => '23',
+ '38' => '08',
+ '39' => '34',
+ '40' => '35',
+ '41' => '02',
+ '42' => '32',
+ '43' => '39',
+ '44' => '36',
+ '45' => '47',
+ '46' => '33',
+ '47' => '40',
+ '48' => '43',
+ '49' => '45',
+ '50' => '30',
+ '51' => '48',
+ '52' => '41',
+ '53' => '11',
+ '54' => '37',
+ '55' => '42',
+ '56' => '38',
+ ],
+ 'EC' => [
+ '01' => 'W',
+ '02' => 'A',
+ '03' => 'B',
+ '04' => 'F',
+ '05' => 'C',
+ '06' => 'H',
+ '07' => 'X',
+ '08' => 'O',
+ '09' => 'E',
+ '10' => 'G',
+ '11' => 'I',
+ '12' => 'L',
+ '13' => 'R',
+ '14' => 'M',
+ '15' => 'S',
+ '17' => 'Y',
+ '18' => 'P',
+ '19' => 'T',
+ '20' => 'Z',
+ '22' => 'U',
+ '23' => 'N',
+ '24' => 'D',
+ ],
+ 'EE' => [
+ '01' => '37',
+ '02' => '39',
+ '03' => '44',
+ '04' => '51',
+ '05' => '49',
+ '07' => '57',
+ '08' => '59',
+ '11' => '67',
+ '12' => '65',
+ '13' => '70',
+ '14' => '74',
+ '18' => '78',
+ '19' => '82',
+ '20' => '84',
+ '21' => '86',
+
+ // invalid codes [used by maxmind] (mapped based on https://en.wikipedia.org/wiki/Municipalities_of_Estonia#Former_municipalities)
+ '06' => '44', // Kohtla-Jarve is part of Ida-Viru
+ '09' => '44', // Narva is part of Ida-Viru
+ '10' => '67', // Parnu
+ '15' => '44', // Sillamae is part of Ida-Viru
+ '16' => '37', // Tallinn is part of Harju
+ '17' => '78', // Tartu
+ ],
+ 'EG' => [
+ '01' => 'DK',
+ '02' => 'BA',
+ '03' => 'BH',
+ '04' => 'FYM',
+ '05' => 'GH',
+ '06' => 'ALX',
+ '07' => 'IS',
+ '08' => 'GZ',
+ '09' => 'MNF',
+ '10' => 'MN',
+ '11' => 'C',
+ '12' => 'KB',
+ '13' => 'WAD',
+ '14' => 'SHR',
+ '15' => 'SUZ',
+ '16' => 'ASN',
+ '17' => 'AST',
+ '18' => 'BNS',
+ '19' => 'PTS',
+ '20' => 'DT',
+ '21' => 'KFS',
+ '22' => 'MT',
+ '23' => 'KN',
+ '24' => 'SHG',
+ '26' => 'JS',
+ '27' => 'SIN',
+
+ // invalid codes [used by maxmind]
+ '28' => 'LX', // Al Uqsur
+ ],
+ 'ER' => [
+ '01' => 'AN',
+ '02' => 'DU',
+ '03' => 'DK',
+ '04' => 'GB',
+ '05' => 'MA',
+ '06' => 'SK',
+ ],
+ 'ES' => [
+ '07' => 'IB',
+ '27' => 'LO',
+ '29' => 'MD',
+ '31' => 'MC',
+ '32' => 'NC',
+ '34' => 'AS',
+ '39' => 'CB',
+ '51' => 'AN',
+ '52' => 'AR',
+ '53' => 'CN',
+ '54' => 'CM',
+ '55' => 'CL',
+ '56' => 'CT',
+ '57' => 'EX',
+ '58' => 'GA',
+ '59' => 'PV',
+ '60' => 'VC',
+ ],
+ 'ET' => [
+ '44' => 'AA',
+ '45' => 'AF',
+ '46' => 'AM',
+ '47' => 'BE',
+ '48' => 'DD',
+ '49' => 'GA',
+ '50' => 'HA',
+ '51' => 'OR',
+ '52' => 'SO',
+ '53' => 'TI',
+ '54' => 'SN',
+ ],
+ 'FI' => [
+ // was rearranged in 2011. codes on wikidata are outdated (https://en.wikipedia.org/wiki/ISO_3166-2:FI)
+ '01' => '01', // Aland
+ '06' => '10', // Lapland
+ '08' => '', // Oulu splitted into subdivisions
+ '13' => '', // Southern Finland splitted into subdivisions
+ '14' => '', // Eastern Finland splitted into subdivisions
+ '15' => '', // Western Finland splitted into subdivisions
+ ],
+ 'FJ' => [
+ '01' => 'C',
+ '02' => 'E',
+ '03' => 'N',
+ '04' => 'R',
+ '05' => 'W',
+ ],
+ 'FR' => [
+ '97' => 'NAQ', // Aquitaine
+ '98' => 'ARA', // Auvergne
+ '99' => 'NOR', // Basse-Normandie
+ 'A1' => 'BFC', // Bourgogne
+ 'A2' => 'BRE', // Bretagne
+ 'A3' => 'CVL', // Centre
+ 'A4' => 'GES', // Champagne-Ardenne
+ 'A5' => 'COR', // Corse
+ 'A6' => 'BFC', // Franche-Comte
+ 'A7' => 'NOR', // Haute-Normandie
+ 'A8' => 'IDF', // Ile-de-France
+ 'A9' => 'OCC', // Languedoc-Roussillon
+ 'B1' => 'NAQ', // Limousin
+ 'B2' => 'GES', // Lorraine
+ 'B3' => 'OCC', // Midi-Pyrenees
+ 'B4' => 'HDF', // Nord-Pas-de-Calais
+ 'B5' => 'PDL', // Pays de la Loire
+ 'B6' => 'HDF', // Picardie
+ 'B7' => 'NAQ', // Poitou-Charentes
+ 'B8' => 'PAC', // Provence-Alpes-Cote d'Azur
+ 'B9' => 'ARA', // Rhone-Alpes
+ 'C1' => 'GES', // Alsace
+ ],
+ 'FM' => [
+ '01' => 'KSA', // Kosrae
+ '02' => 'PNI', // Pohnpei
+ '03' => 'TRK', // Chuuk
+ '04' => 'YAP', // Yap
+ ],
+ 'GA' => [
+ '01' => '1',
+ '02' => '2',
+ '03' => '3',
+ '04' => '4',
+ '05' => '5',
+ '06' => '6',
+ '07' => '7',
+ '08' => '8',
+ '09' => '9',
+ ],
+ 'GB' => [
+ 'A1' => 'BDG',
+ 'A2' => 'BNE',
+ 'A3' => 'BNS',
+ 'A4' => 'BAS',
+ 'A5' => '', // Bedfordshire [split up]
+ 'A6' => 'BEX',
+ 'A7' => 'BIR',
+ 'A8' => 'BBD',
+ 'A9' => 'BPL',
+ 'B1' => 'BOL',
+ 'B2' => 'BMH',
+ 'B3' => 'BRC',
+ 'B4' => 'BRD',
+ 'B5' => 'BEN',
+ 'B6' => 'BNH',
+ 'B7' => 'BST',
+ 'B8' => 'BRY',
+ 'B9' => 'BKM',
+ 'C1' => 'BUR',
+ 'C2' => 'CLD',
+ 'C3' => 'CAM',
+ 'C4' => 'CMD',
+ 'C5' => '', // Cheshire [split up]
+ 'C6' => 'CON',
+ 'C7' => 'COV',
+ 'C8' => 'CRY',
+ 'C9' => 'CMA',
+ 'D1' => 'DAL',
+ 'D2' => 'DER',
+ 'D3' => 'DBY',
+ 'D4' => 'DEV',
+ 'D5' => 'DNC',
+ 'D6' => 'DOR',
+ 'D7' => 'DUD',
+ 'D8' => 'DUR',
+ 'D9' => 'EAL',
+ 'E1' => 'ERY',
+ 'E2' => 'ESX',
+ 'E3' => 'ENF',
+ 'E4' => 'ESS',
+ 'E5' => 'GAT',
+ 'E6' => 'GLS',
+ 'E7' => 'GRE',
+ 'E8' => 'HCK',
+ 'E9' => 'HAL',
+ 'F1' => 'HMF',
+ 'F2' => 'HAM',
+ 'F3' => 'HRY',
+ 'F4' => 'HRW',
+ 'F5' => 'HPL',
+ 'F6' => 'HAV',
+ 'F7' => 'HEF',
+ 'F8' => 'HRT',
+ 'F9' => 'HIL',
+ 'G1' => 'HNS',
+ 'G2' => 'IOW',
+ 'G3' => 'ISL',
+ 'G4' => 'KEC',
+ 'G5' => 'KEN',
+ 'G6' => 'KHL',
+ 'G7' => 'KTT',
+ 'G8' => 'KIR',
+ 'G9' => 'KWL',
+ 'H1' => 'LBH',
+ 'H2' => 'LAN',
+ 'H3' => 'LDS',
+ 'H4' => 'LCE',
+ 'H5' => 'LEC',
+ 'H6' => 'LEW',
+ 'H7' => 'LIN',
+ 'H8' => 'LIV',
+ 'H9' => 'LND',
+ 'I1' => 'LUT',
+ 'I2' => 'MAN',
+ 'I3' => 'MDW',
+ 'I4' => 'MRT',
+ 'I5' => 'MDB',
+ 'I6' => 'MIK',
+ 'I7' => 'NET',
+ 'I8' => 'NWM',
+ 'I9' => 'NFK',
+ 'J1' => 'NTH',
+ 'J2' => 'NEL',
+ 'J3' => 'NLN',
+ 'J4' => 'NSM',
+ 'J5' => 'NTY',
+ 'J6' => 'NBL',
+ 'J7' => 'NYK',
+ 'J8' => 'NGM',
+ 'J9' => 'NTT',
+ 'K1' => 'OLD',
+ 'K2' => 'OXF',
+ 'K3' => 'PTE',
+ 'K4' => 'PLY',
+ 'K5' => 'POL',
+ 'K6' => 'POR',
+ 'K7' => 'RDG',
+ 'K8' => 'RDB',
+ 'K9' => 'RCC',
+ 'L1' => 'RIC',
+ 'L2' => 'RCH',
+ 'L3' => 'ROT',
+ 'L4' => 'RUT',
+ 'L5' => 'SLF',
+ 'L6' => 'SHR',
+ 'L7' => 'SAW',
+ 'L8' => 'SFT',
+ 'L9' => 'SHF',
+ 'M1' => 'SLG',
+ 'M2' => 'SOL',
+ 'M3' => 'SOM',
+ 'M4' => 'STH',
+ 'M5' => 'SOS',
+ 'M6' => 'SGC',
+ 'M7' => 'STY',
+ 'M8' => 'SWK',
+ 'M9' => 'STS',
+ 'N1' => 'SHN',
+ 'N2' => 'SKP',
+ 'N3' => 'STT',
+ 'N4' => 'STE',
+ 'N5' => 'SFK',
+ 'N6' => 'SND',
+ 'N7' => 'SRY',
+ 'N8' => 'STN',
+ 'N9' => 'SWD',
+ 'O1' => 'TAM',
+ 'O2' => 'TFW',
+ 'O3' => 'THR',
+ 'O4' => 'TOB',
+ 'O5' => 'TWH',
+ 'O6' => 'TRF',
+ 'O7' => 'WKF',
+ 'O8' => 'WLL',
+ 'O9' => 'WFT',
+ 'P1' => 'WND',
+ 'P2' => 'WRT',
+ 'P3' => 'WAR',
+ 'P4' => 'WBK',
+ 'P5' => 'WSM',
+ 'P6' => 'WSX',
+ 'P7' => 'WGN',
+ 'P8' => 'WIL',
+ 'P9' => 'WNM',
+ 'Q1' => 'WRL',
+ 'Q2' => 'WOK',
+ 'Q3' => 'WLV',
+ 'Q4' => 'WOR',
+ 'Q5' => 'YOR',
+ 'Q6' => 'ANN',
+ 'Q7' => 'AND',
+ 'Q8' => 'ABC', // Armagh [merged into Armagh, Banbridge and Craigavon]
+ 'Q9' => 'MEA',
+ 'R1' => 'CCG', // Ballymoney [merged into Causeway Coast and Glens]
+ 'R2' => 'ABC', // Banbridge [merged into Armagh, Banbridge and Craigavon]
+ 'R3' => 'BFS',
+ 'R4' => 'MEA',
+ 'R5' => 'LBC', // Castlereagh [merged into Lisburn and Castlereagh]
+ 'R6' => 'CCG',
+ 'R7' => 'MUL',
+ 'R8' => 'ABC', // Craigavon [merged into Armagh, Banbridge and Craigavon]
+ 'R9' => 'NMD', // Down [merged into Newry, Mourne and Down]
+ 'S1' => 'MUL', // Dungannon and South Tyrone [merged into Mid-Ulster]
+ 'S2' => 'FMO', // Fermanagh
+ 'S3' => 'MEA', // Larne [merged into Mid and East Antrim]
+ 'S4' => 'CCG', // Limavady [merged into Causeway Coast and Glens]
+ 'S5' => 'LBC', // Lisburn
+ 'S6' => 'DRS',
+ 'S7' => 'MUL', // Magherafelt [merged into Mid-Ulster]
+ 'S8' => 'CCG',
+ 'S9' => 'NMD',
+ 'T1' => 'ANN', // Newtownabbey [merged into Antrim and Newtownabbey]
+ 'T2' => 'AND', // North Down [merged into North Down and Ards]
+ 'T3' => 'FMO', // Omagh
+ 'T4' => 'DRS', // Strabane
+ 'T5' => 'ABE',
+ 'T6' => 'ABD',
+ 'T7' => 'ANS',
+ 'T8' => 'AGB',
+ 'T9' => 'SCB',
+ 'U1' => 'CLK',
+ 'U2' => 'DGY',
+ 'U3' => 'DND',
+ 'U4' => 'EAY',
+ 'U5' => 'EDU',
+ 'U6' => 'ELN',
+ 'U7' => 'ERW',
+ 'U8' => 'EDH',
+ 'U9' => 'FAL',
+ 'V1' => 'FIF',
+ 'V2' => 'GLG',
+ 'V3' => 'HLD',
+ 'V4' => 'IVC',
+ 'V5' => 'MLN',
+ 'V6' => 'MRY',
+ 'V7' => 'NAY',
+ 'V8' => 'NLK',
+ 'V9' => 'ORK',
+ 'W1' => 'PKN',
+ 'W2' => 'RFW',
+ 'W3' => 'ZET',
+ 'W4' => 'SAY',
+ 'W5' => 'SLK',
+ 'W6' => 'STG',
+ 'W7' => 'WDU',
+ 'W8' => 'ELS',
+ 'W9' => 'WLN',
+ 'X1' => 'AGY',
+ 'X2' => 'BGW',
+ 'X3' => 'BGE',
+ 'X4' => 'CAY',
+ 'X5' => 'CRF',
+ 'X6' => 'CGN',
+ 'X7' => 'CMN',
+ 'X8' => 'CWY',
+ 'X9' => 'DEN',
+ 'Y1' => 'FLN',
+ 'Y2' => 'GWN',
+ 'Y3' => 'MTY',
+ 'Y4' => 'MON',
+ 'Y5' => 'NTL',
+ 'Y6' => 'NWP',
+ 'Y7' => 'PEM',
+ 'Y8' => 'POW',
+ 'Y9' => 'RCT',
+ 'Z1' => 'SWA',
+ 'Z2' => 'TOF',
+ 'Z3' => 'VGL',
+ 'Z4' => 'WRX',
+
+ // invalid codes [used by maxmind] (mapped based on names)
+ 'Z5' => '', // Bedfordshire [split up]
+ 'Z6' => 'CBF', // Central Bedfordshire
+ 'Z7' => 'CHE', // Cheshire East
+ 'Z8' => 'CHW', // Cheshire West and Chester
+ 'Z9' => 'IOS', // Isles of Scilly
+ ],
+ 'GD' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ ],
+ 'GE' => [
+ // subdivisions rearranged 2002 (https://en.wikipedia.org/wiki/ISO_3166-2:EG)
+ // mapping based on the subdivision wikipedia pages
+ '01' => 'SZ', // Abashis Raioni is within Samegrelo-Zemo Svaneti
+ '02' => 'AB', // Abkhazia
+ '03' => 'SJ', // Adigenis Raioni is within Samtskhe-Javakheti
+ '04' => 'AJ', // Ajaria
+ '05' => 'MM', // Akhalgoris Raioni is within Mtskheta-Mtianeti
+ '06' => 'SJ', // Akhalk'alak'is Raioni is within Samtskhe-Javakheti
+ '07' => 'SJ', // Akhalts'ikhis Raioni is within Samtskhe-Javakheti
+ '08' => 'KA', // Akhmetis Raioni is within Kakheti
+ '09' => 'RL', // Ambrolauris Raioni is within Racha-Lechkhumi and Kvemo Svaneti
+ '10' => 'SJ', // Aspindzis Raioni is within Samtskhe-Javakheti
+ '11' => 'IM', // Baghdat'is Raioni is within Imereti
+ '12' => 'KK', // Bolnisis Raioni is within Kvemo Kartli
+ '13' => 'SJ', // Borjomis Raioni is within Samtskhe-Javakheti
+ '14' => 'IM', // Chiat'ura is within Imereti
+ '15' => 'SZ', // Ch'khorotsqus Raioni is within Samegrelo-Zemo Svaneti
+ '16' => 'GU', // Ch'okhatauris Raioni is within Guria
+ '17' => 'KA', // Dedop'listsqaros Raioni is within Kakheti
+ '18' => 'KA', // Dmanisis Raioni is within Kakheti
+ '19' => 'MM', // Dushet'is Raioni is within Mtskheta-Mtianeti
+ '20' => 'KK', // Gardabanis Raioni is within Kvemo Kartli
+ '21' => 'SK', // Gori is within Shida Kartli
+ '22' => 'SK', // Goris Raioni is within Shida Kartli
+ '23' => 'KA', // Gurjaanis Raioni is within Kakheti
+ '24' => 'SK', // Javis Raioni is within Shida Kartli
+ '25' => 'SK', // K'arelis Raioni is within Shida Kartli
+ '26' => 'SK', // Kaspis Raioni is within Shida Kartli
+ '27' => 'IM', // Kharagaulis Raioni is within Imereti
+ '28' => 'SK', // Khashuris Raioni is within Shida Kartli
+ '29' => 'SZ', // Khobis Raioni is within Samegrelo-Zemo Svaneti
+ '30' => 'IM', // Khonis Raioni is within Imereti
+ '31' => 'IM', // K'ut'aisi is within Imereti
+ '32' => 'KA', // Lagodekhis Raioni is within Kakheti
+ '33' => 'GU', // Lanch'khut'is Raioni is within Guria
+ '34' => 'RL', // Lentekhis Raioni is within Racha-Lechkhumi and Kvemo Svaneti
+ '35' => 'KK', // Marneulis Raioni is within Kvemo Kartli
+ '36' => 'SZ', // Martvilis Raioni is within Samegrelo-Zemo Svaneti
+ '37' => 'SZ', // Mestiis Raioni is within Samegrelo-Zemo Svaneti
+ '38' => 'MM', // Mts'khet'is Raioni is within Mtskheta-Mtianeti
+ '39' => 'SJ', // Ninotsmindis Raioni is within Samtskhe-Javakheti
+ '40' => 'RL', // Onis Raioni is within Racha-Lechkhumi and Kvemo Svaneti
+ '41' => 'GU', // Ozurget'is Raioni is within Guria
+ '42' => 'SZ', // P'ot'i is within Samegrelo-Zemo Svaneti
+ '43' => 'MM', // Qazbegis Raioni is within Mtskheta-Mtianeti
+ '44' => 'KA', // Qvarlis Raioni is within Kakheti
+ '45' => 'KK', // Rust'avi is within Kvemo Kartli
+ '46' => 'IM', // Sach'kheris Raioni is within Imereti
+ '47' => 'KA', // Sagarejos Raioni is within Kakheti
+ '48' => 'IM', // Samtrediis Raioni is within Imereti
+ '49' => 'SZ', // Senakis Raioni is within Samegrelo-Zemo Svaneti
+ '50' => 'KA', // Sighnaghis Raioni is within Kakheti
+ '51' => 'TB', // T'bilisi
+ '52' => 'KA', // T'elavis Raioni is within Kakheti
+ '53' => 'IM', // T'erjolis Raioni is within Imereti
+ '54' => 'KK', // T'et'ritsqaros Raioni is within Kvemo Kartli
+ '55' => 'MM', // T'ianet'is Raioni is within Mtskheta-Mtianeti
+ '56' => 'IM', // Tqibuli is within Imereti
+ '57' => 'RL', // Ts'ageris Raioni is within Racha-Lechkhumi and Kvemo Svaneti
+ '58' => 'SZ', // Tsalenjikhis Raioni is within Samegrelo-Zemo Svaneti
+ '59' => 'KK', // Tsalkis Raioni is within Kvemo Kartli
+ '60' => 'IM', // Tsqaltubo is within Imereti
+ '61' => 'IM', // Vanis Raioni is within Imereti
+ '62' => 'IM', // Zestap'onis Raioni is within Imereti
+ '63' => 'SZ', // Zugdidi is within Samegrelo-Zemo Svaneti
+ '64' => 'SZ', // Zugdidis Raioni is within Samegrelo-Zemo Svaneti
+ ],
+ 'GH' => [
+ '01' => 'AA',
+ '02' => 'AH',
+ '03' => 'BA',
+ '04' => 'CP',
+ '05' => 'EP',
+ '06' => 'NP',
+ '08' => 'TV',
+ '09' => 'WP',
+ '10' => 'UE',
+ '11' => 'UW',
+ ],
+ 'GL' => [
+ // ISO introduced their own regions in 2010, they completely differ from FIPS and are not mappable
+ '01' => '', // Nordgronland
+ '02' => '', // Ostgronland
+ '03' => '', // Vestgronland
+ ],
+ 'GM' => [
+ '01' => 'B',
+ '02' => 'L',
+ '03' => 'M',
+ '04' => 'U',
+ '05' => 'W',
+ '07' => 'N',
+ ],
+ 'GN' => [
+ '01' => 'BE', // Beyla
+ '02' => 'BF', // Boffa
+ '03' => 'BK', // Boke
+ '04' => 'C', // Conakry
+ '05' => 'DB', // Dabola
+ '06' => 'DL', // Dalaba
+ '07' => 'DI', // Dinguiraye
+ '09' => 'FA', // Faranah
+ '10' => 'FO', // Forecariah
+ '11' => 'FR', // Fria
+ '12' => 'GA', // Gaoual
+ '13' => 'GU', // Gueckedou
+ '15' => 'KE', // Kerouane
+ '16' => 'KD', // Kindia
+ '17' => 'KS', // Kissidougou
+ '18' => 'KN', // Koundara
+ '19' => 'KO', // Kouroussa
+ '21' => 'MC', // Macenta
+ '22' => 'ML', // Mali
+ '23' => 'MM', // Mamou
+ '25' => 'PI', // Pita
+ '27' => 'TE', // Telimele
+ '28' => 'TO', // Tougue
+ '29' => 'YO', // Yomou
+ '30' => 'CO', // Coyah
+ '31' => 'DU', // Dubreka
+ '32' => 'KA', // Kankan
+ '33' => 'KB', // Koubia
+ '34' => 'LA', // Labe
+ '35' => 'LE', // Lelouma
+ '36' => 'LO', // Lola
+ '37' => 'MD', // Mandiana
+ '38' => 'NZ', // Nzerekore
+ '39' => 'SI', // Siguiri
+ ],
+ 'GQ' => [
+ '03' => 'AN',
+ '04' => 'BN',
+ '05' => 'BS',
+ '06' => 'CS',
+ '07' => 'KN',
+ '08' => 'LI',
+ '09' => 'WN',
+ ],
+ 'GR' => [
+ // rearranged 2016. mapping based on (https://en.wikipedia.org/wiki/ISO_3166-2:GR)
+ '01' => 'A', // Evros
+ '02' => 'A', // Rodhopi
+ '03' => 'A', // Xanthi
+ '04' => 'A', // Drama
+ '05' => 'B', // Serrai
+ '06' => 'B', // Kilkis
+ '07' => 'B', // Pella
+ '08' => 'C', // Florina
+ '09' => 'C', // Kastoria
+ '10' => 'C', // Grevena
+ '11' => 'C', // Kozani
+ '12' => 'B', // Imathia
+ '13' => 'B', // Thessaloniki
+ '14' => 'A', // Kavala
+ '15' => 'B', // Khalkidhiki
+ '16' => 'B', // Pieria
+ '17' => 'D', // Ioannina
+ '18' => 'D', // Thesprotia
+ '19' => 'D', // Preveza
+ '20' => 'D', // Arta
+ '21' => 'E', // Larisa
+ '22' => 'E', // Trikala
+ '23' => 'E', // Kardhitsa
+ '24' => 'E', // Magnisia
+ '25' => 'F', // Kerkira
+ '26' => 'F', // Levkas
+ '27' => 'F', // Kefallinia
+ '28' => 'F', // Zakinthos
+ '29' => 'H', // Fthiotis
+ '30' => 'H', // Evritania
+ '31' => 'G', // Aitolia kai Akarnania
+ '32' => 'H', // Fokis
+ '33' => 'H', // Voiotia
+ '34' => 'H', // Evvoia
+ '35' => 'I', // Attiki
+ '36' => 'J', // Argolis
+ '37' => 'J', // Korinthia
+ '38' => 'G', // Akhaia
+ '39' => 'G', // Ilia
+ '40' => 'J', // Messinia
+ '41' => 'J', // Arkadhia
+ '42' => 'J', // Lakonia
+ '43' => 'M', // Khania
+ '44' => 'M', // Rethimni
+ '45' => 'M', // Iraklion
+ '46' => 'M', // Lasithi
+ '47' => 'L', // Dhodhekanisos
+ '48' => 'K', // Samos
+ '49' => 'L', // Kikladhes
+ '50' => 'K', // Khios
+ '51' => 'K', // Lesvos
+ ],
+ 'GT' => [
+ '01' => 'AV',
+ '02' => 'BV',
+ '03' => 'CM',
+ '04' => 'CQ',
+ '05' => 'PR',
+ '06' => 'ES',
+ '07' => 'GU',
+ '08' => 'HU',
+ '09' => 'IZ',
+ '10' => 'JA',
+ '11' => 'JU',
+ '12' => 'PE',
+ '13' => 'QZ',
+ '14' => 'QC',
+ '15' => 'RE',
+ '16' => 'SA',
+ '17' => 'SM',
+ '18' => 'SR',
+ '19' => 'SO',
+ '20' => 'SU',
+ '21' => 'TO',
+ '22' => 'ZA',
+ ],
+ 'GW' => [
+ '01' => 'BA',
+ '02' => 'QU',
+ '04' => 'OI',
+ '05' => 'BL',
+ '06' => 'CA',
+ '07' => 'TO',
+ '10' => 'GA',
+ '11' => 'BS',
+ '12' => 'BM',
+ ],
+ 'GY' => [
+ '10' => 'BA',
+ '11' => 'CU',
+ '12' => 'DE',
+ '13' => 'EB',
+ '14' => 'ES',
+ '15' => 'MA',
+ '16' => 'PM',
+ '17' => 'PT',
+ '18' => 'UD',
+ '19' => 'UT',
+ ],
+ 'HN' => [
+ '01' => 'AT',
+ '02' => 'CH',
+ '03' => 'CL',
+ '04' => 'CM',
+ '05' => 'CP',
+ '06' => 'CR',
+ '07' => 'EP',
+ '08' => 'FM',
+ '09' => 'GD',
+ '10' => 'IN',
+ '11' => 'IB',
+ '12' => 'LP',
+ '13' => 'LE',
+ '14' => 'OC',
+ '15' => 'OL',
+ '16' => 'SB',
+ '17' => 'VA',
+ '18' => 'YO',
+ ],
+ 'HR' => [
+ '01' => '07',
+ '02' => '12',
+ '03' => '19',
+ '04' => '18',
+ '05' => '04',
+ '06' => '06',
+ '07' => '02',
+ '08' => '09',
+ '09' => '20',
+ '10' => '14',
+ '11' => '11',
+ '12' => '08',
+ '13' => '15',
+ '14' => '03',
+ '15' => '17',
+ '16' => '05',
+ '17' => '10',
+ '18' => '16',
+ '19' => '13',
+ '20' => '01',
+ '21' => '21',
+ ],
+ 'HT' => [
+ '03' => 'NO',
+ '06' => 'AR',
+ '07' => 'CE',
+ '09' => 'ND',
+ '10' => 'NE',
+ '11' => 'OU',
+ '12' => 'SD',
+ '13' => 'SE',
+ '14' => 'GA',
+ '15' => 'NI',
+ ],
+ 'HU' => [
+ '01' => 'BK', // Bacs-Kiskun
+ '02' => 'BA', // Baranya
+ '03' => 'BE', // Bekes
+ '04' => 'BZ', // Borsod-Abauj-Zemplen
+ '05' => 'BU', // Budapest
+ '06' => 'CS', // Csongrad
+ '07' => 'DE', // Debrecen
+ '08' => 'FE', // Fejer
+ '09' => 'GS', // Gyor-Moson-Sopron
+ '10' => 'HB', // Hajdu-Bihar
+ '11' => 'HE', // Heves
+ '12' => 'KE', // Komarom-Esztergom
+ '13' => 'MI', // Miskolc
+ '14' => 'NO', // Nograd
+ '15' => 'PS', // Pecs
+ '16' => 'PE', // Pest
+ '17' => 'SO', // Somogy
+ '18' => 'SZ', // Szabolcs-Szatmar-Bereg
+ '19' => 'SD', // Szeged
+ '20' => 'JN', // Jasz-Nagykun-Szolnok
+ '21' => 'TO', // Tolna
+ '22' => 'VA', // Vas
+ '23' => 'VE', // Veszprem
+ '24' => 'ZA', // Zala
+ '25' => 'GY', // Gyor
+ '26' => 'BC', // Bekescsaba
+ '27' => 'DU', // Dunaujvaros
+ '28' => 'EG', // Eger
+ '29' => 'HV', // Hodmezovasarhely
+ '30' => 'KV', // Kaposvar
+ '31' => 'KM', // Kecskemet
+ '32' => 'NK', // Nagykanizsa
+ '33' => 'NY', // Nyiregyhaza
+ '34' => 'SN', // Sopron
+ '35' => 'SF', // Szekesfehervar
+ '36' => 'SK', // Szolnok
+ '37' => 'SH', // Szombathely
+ '38' => 'TB', // Tatabanya
+ '39' => 'VE', // Veszprem
+ '40' => 'ZE', // Zalaegerszeg
+ '41' => 'ST', // Salgotarjan
+ '42' => 'SS', // Szekszard
+ '43' => 'ER', // Erd
+ ],
+ 'ID' => [
+ '01' => 'AC',
+ '02' => 'BA',
+ '03' => 'BE',
+ '04' => 'JK',
+ '05' => 'JA',
+ '07' => 'JT',
+ '08' => 'JI',
+ '10' => 'YO',
+ '11' => 'KB',
+ '12' => 'KS',
+ '13' => 'KT',
+ '14' => 'KI',
+ '15' => 'LA',
+ '17' => 'NB',
+ '18' => 'NT',
+ '21' => 'ST',
+ '22' => 'SG',
+ '24' => 'SB',
+ '26' => 'SU',
+ '28' => 'MA',
+ '29' => 'MU',
+ '30' => 'JB',
+ '31' => 'SA',
+ '32' => 'SS',
+ '33' => 'BT',
+ '34' => 'GO',
+ '35' => 'BB',
+ '36' => 'PA',
+ '37' => 'RI',
+ '38' => 'SN',
+ '39' => 'PB',
+ '40' => 'KR',
+ '41' => 'SR',
+ ],
+ 'IE' => [
+ '01' => 'CW',
+ '02' => 'CN',
+ '03' => 'CE',
+ '04' => 'CO',
+ '06' => 'DL',
+ '07' => 'D',
+ '10' => 'G',
+ '11' => 'KY',
+ '12' => 'KE',
+ '13' => 'KK',
+ '14' => 'LM',
+ '15' => 'LS',
+ '16' => 'LK',
+ '18' => 'LD',
+ '19' => 'LH',
+ '20' => 'MO',
+ '21' => 'MH',
+ '22' => 'MN',
+ '23' => 'OY',
+ '24' => 'RN',
+ '25' => 'SO',
+ '26' => 'TA',
+ '27' => 'WD',
+ '29' => 'WH',
+ '30' => 'WX',
+ '31' => 'WW',
+ ],
+ 'IL' => [
+ '01' => 'D',
+ '02' => 'M',
+ '03' => 'Z',
+ '04' => 'HA',
+ '05' => 'TA',
+ '06' => 'JM',
+ ],
+ 'IN' => [
+ '01' => 'AN',
+ '02' => 'AP',
+ '03' => 'AS',
+ '05' => 'CH',
+ '06' => 'DN',
+ '07' => 'DL',
+ '09' => 'GJ',
+ '10' => 'HR',
+ '11' => 'HP',
+ '12' => 'JK',
+ '13' => 'KL',
+ '14' => 'LD',
+ '16' => 'MH',
+ '17' => 'MN',
+ '18' => 'ML',
+ '19' => 'KA',
+ '20' => 'NL',
+ '21' => 'OR',
+ '22' => 'PY',
+ '23' => 'PB',
+ '24' => 'RJ',
+ '25' => 'TN',
+ '26' => 'TR',
+ '28' => 'WB',
+ '29' => 'SK',
+ '30' => 'AR',
+ '31' => 'MZ',
+ '32' => 'DD',
+ '33' => 'GA',
+ '34' => 'BR',
+ '35' => 'MP',
+ '36' => 'UP',
+ '37' => 'CT',
+ '38' => 'JH',
+ '39' => 'UT',
+ ],
+ 'IQ' => [
+ '01' => 'AN',
+ '02' => 'BA',
+ '03' => 'MU',
+ '04' => 'QA',
+ '05' => 'SU',
+ '06' => 'BB',
+ '07' => 'BG',
+ '08' => 'DA',
+ '09' => 'DQ',
+ '10' => 'DI',
+ '11' => 'AR',
+ '12' => 'KA',
+ '13' => 'KI',
+ '14' => 'MA',
+ '15' => 'NI',
+ '16' => 'WA',
+ '17' => 'NA',
+ '18' => 'SD',
+ ],
+ 'IR' => [
+ // mapping based on wikidata and on manual name matches
+ '01' => '02', // Āz̄arbāyjān-e Gharbī Province
+ '03' => '08', // Chahār Maḩāll va Bakhtīār Province
+ '04' => '13', // Sīstān va Balūchestān Province
+ '05' => '18', // Kohgīlūyeh va Būyer Aḩmad Province
+ '07' => '14', // Fārs Province
+ '08' => '19', // Gīlān Province
+ '09' => '24', // Hamadān Province
+ '10' => '05', // Īlām Province
+ '11' => '23', // Hormozgān Province
+ '13' => '17', // Kermānshāh Province
+ '15' => '10', // Khūzestān Province
+ '16' => '16', // Kordestān Province
+ '22' => '06', // Būshehr Province
+ '23' => '20', // Lorestān Province
+ '25' => '12', // Semnān Province
+ '26' => '07', // Tehrān Province
+ '28' => '04', // Eşfahān Province
+ '29' => '15', // Kermān Province
+ '32' => '03', // Ardabīl Province
+ '33' => '01', // Āz̄arbāyjān-e Sharqī Province
+ '34' => '22', // Markaz Province
+ '35' => '21', // Māzandarān Province
+ '36' => '11', // Zanjān Province
+ '37' => '27', // Golestān Province
+ '38' => '28', // Qazvīn Province
+ '39' => '26', // Qom Province
+ '40' => '25', // Yazd Province
+ '41' => '29', // Khorāsān-e Janūbī Province
+ '42' => '30', // Khorāsān-e Razavī Province
+ '43' => '31', // Khorāsān-e Razavī Province
+ '44' => '32', // Alborz Province
+
+ // invalid codes [used by maxmind]
+ '12' => '15', // Kerman
+ '17' => '21', // Mazandaran
+ '18' => '12', // Semnan Province
+ '19' => '22', // Markazi
+ '21' => '11', // Zanjan
+ '24' => '22', // Markazi
+ '27' => '11', // Zanjan
+ '30' => '', // Khorasan [split up]
+ '31' => '25', // Yazd
+ ],
+ 'IS' => [
+ // codes contained in maxmind file, but actually no valid FIPS codes anymore
+ // mapping roughly based on the maps of Wikipedia
+ '03' => '8', // Arnessysla
+ '05' => '5', // Austur-Hunavatnssysla
+ '06' => '7', // Austur-Skaftafellssysla
+ '07' => '3', // Borgarfjardarsysla
+ '09' => '6', // Eyjafjardarsysla
+ '10' => '2', // Gullbringusysla
+ '15' => '1', // Kjosarsysla
+ '17' => '3', // Myrasysla
+ '20' => '7', // Nordur-Mulasysla
+ '21' => '6', // Nordur-Tingeyjarsysla
+ '23' => '8', // Rangarvallasysla
+ '28' => '5', // Skagafjardarsysla
+ '29' => '3', // Snafellsnes- og Hnappadalssysla
+ '30' => '4', // Strandasysla
+ '31' => '7', // Sudur-Mulasysla
+ '32' => '6', // Sudur-Tingeyjarsysla
+ '34' => '4', // Vestur-Bardastrandarsysla
+ '35' => '5', // Vestur-Hunavatnssysla
+ '36' => '4', // Vestur-Isafjardarsysla
+ '37' => '8', // Vestur-Skaftafellssysla
+ // valid FIPS codes
+ '38' => '7', // Austurland
+ '39' => '1', // Hofuoborgarsvaoio
+ '40' => '6', // Norourland Eystra
+ '41' => '5', // Norourland Vestra
+ '42' => '8', // Suourland
+ '43' => '2', // Suournes
+ '44' => '4', // Vestfiroir
+ '45' => '3', // Vesturland
+ ],
+ 'IT' => [
+ '01' => '65',
+ '02' => '77',
+ '03' => '78',
+ '04' => '72',
+ '05' => '45',
+ '06' => '36',
+ '07' => '62',
+ '08' => '42',
+ '09' => '25',
+ '10' => '57',
+ '11' => '67',
+ '12' => '21',
+ '13' => '75',
+ '14' => '88',
+ '15' => '82',
+ '16' => '52',
+ '17' => '32',
+ '18' => '55',
+ '19' => '23',
+ '20' => '34',
+ ],
+ 'JM' => [
+ '01' => '13',
+ '02' => '09',
+ '04' => '12',
+ '07' => '04',
+ '08' => '02',
+ '09' => '06',
+ '10' => '14',
+ '11' => '11',
+ '12' => '08',
+ '13' => '05',
+ '14' => '03',
+ '15' => '07',
+ '16' => '10',
+ '17' => '01',
+ ],
+ 'JO' => [
+ '02' => 'BA',
+ '09' => 'KA',
+ '12' => 'AT',
+ '15' => 'MA',
+ '16' => 'AM',
+ '17' => 'AZ',
+ '18' => 'IR',
+ '19' => 'MN',
+ '20' => 'AJ',
+ '21' => 'AQ',
+ '22' => 'JA',
+ '23' => 'MD',
+ ],
+ 'JP' => [
+ '01' => '23',
+ '02' => '05',
+ '03' => '02',
+ '04' => '12',
+ '05' => '38',
+ '06' => '18',
+ '07' => '40',
+ '08' => '07',
+ '09' => '21',
+ '10' => '10',
+ '11' => '34',
+ '12' => '01',
+ '13' => '28',
+ '14' => '08',
+ '15' => '17',
+ '16' => '03',
+ '17' => '37',
+ '18' => '46',
+ '19' => '14',
+ '20' => '39',
+ '21' => '43',
+ '22' => '26',
+ '23' => '24',
+ '24' => '04',
+ '25' => '45',
+ '26' => '20',
+ '27' => '42',
+ '28' => '29',
+ '29' => '15',
+ '30' => '44',
+ '31' => '33',
+ '32' => '27',
+ '33' => '41',
+ '34' => '11',
+ '35' => '25',
+ '36' => '32',
+ '37' => '22',
+ '38' => '09',
+ '39' => '36',
+ '40' => '13',
+ '41' => '31',
+ '42' => '16',
+ '43' => '30',
+ '44' => '06',
+ '45' => '35',
+ '46' => '19',
+ '47' => '47',
+ ],
+ 'KE' => [
+ // completely reorganized in 2014
+ '01' => '',
+ '02' => '',
+ '03' => '',
+ '05' => '',
+ '06' => '',
+ '07' => '',
+ '08' => '',
+ '09' => '',
+ ],
+ 'KG' => [
+ '01' => 'GB', // Bishkek
+ '02' => 'C', // Chuy
+ '03' => 'J', // Jalal-Abad
+ '04' => 'N', // Naryn
+ '06' => 'T', // Talas
+ '07' => 'Y', // Ysyk-Kol
+ '08' => 'GO', // Osh
+ '09' => 'B', // Batken
+
+ // [invalid code]
+ '05' => 'GO', // Osh
+ ],
+ 'KH' => [
+ '02' => '3',
+ '03' => '4',
+ '04' => '5',
+ '05' => '6',
+ '07' => '8',
+ '08' => '9',
+ '09' => '10',
+ '10' => '11',
+ '12' => '15',
+ '13' => '13',
+ '14' => '14',
+ '17' => '19',
+ '18' => '20',
+ '19' => '21',
+ '22' => '12',
+ '23' => '16',
+ '25' => '1',
+ '28' => '18',
+ '29' => '2',
+ '30' => '24',
+
+ // invalid codes [used by maxmind] (mapped based on the names)
+ '01' => '2', // Batdambang
+ '06' => '7', // Kampot
+ '11' => '12', // Phnum Penh
+ '15' => '16', // Ratanakiri Kiri
+ '16' => '17', // Siem Reap
+ ],
+ 'KI' => [
+ '01' => 'G',
+ '02' => 'L',
+ '03' => 'P',
+ ],
+ 'KM' => [
+ '01' => 'A',
+ '02' => 'G',
+ '03' => 'M',
+ ],
+ 'KN' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ '10' => '10',
+ '11' => '11',
+ '12' => '12',
+ '13' => '13',
+ '15' => '15',
+ ],
+ 'KP' => [
+ // mapping based on names an wikipedia pages
+ '01' => '04', // Chagang-do
+ '03' => '08', // Hamgyong-namdo
+ '06' => '05', // Hwanghae-namdo
+ '07' => '09', // Hwanghae-bukto
+ '08' => '06', // Kaesong-si
+ '09' => '07', // Kangwon-do
+ '11' => '09', // P'yongan-bukto
+ '12' => '01', // P'yongyang-si
+ '13' => '10', // Yanggang-do
+ '14' => '14', // Namp'o-si
+ '15' => '02', // P'yongan-namdo
+ '17' => '09', // Hamgyong-bukto
+ '18' => '13', // Najin Sonbong-si
+ ],
+ 'KR' => [
+ '01' => '49',
+ '03' => '45',
+ '05' => '43',
+ '06' => '42',
+ '10' => '26',
+ '11' => '11',
+ '12' => '28',
+ '13' => '41',
+ '14' => '47',
+ '15' => '27',
+ '16' => '46',
+ '17' => '44',
+ '18' => '29',
+ '19' => '30',
+ '20' => '48',
+ '21' => '31',
+ ],
+ 'KW' => [
+ '01' => 'AH',
+ '02' => 'KU',
+ '05' => 'JA',
+ '07' => 'FA',
+ '08' => 'HA',
+ '09' => 'MU',
+ ],
+ 'KY' => [
+ // Cayman Islands do not have an ISO regions
+ '01' => '',
+ '02' => '',
+ '03' => '',
+ '04' => '',
+ '05' => '',
+ '06' => '',
+ '07' => '',
+ '08' => '',
+ ],
+ 'KZ' => [
+ '01' => 'ALM',
+ '02' => 'ALA',
+ '03' => 'AKM',
+ '04' => 'AKT',
+ '05' => 'AST',
+ '06' => 'ATY',
+ '07' => 'ZAP',
+ '08' => 'BAY',
+ '09' => 'MAN',
+ '10' => 'YUZ',
+ '11' => 'PAV',
+ '12' => 'KAR',
+ '13' => 'KUS',
+ '14' => 'KZY',
+ '15' => 'VOS',
+ '16' => 'SEV',
+ '17' => 'ZHA',
+ ],
+ 'LA' => [
+ '01' => 'AT',
+ '02' => 'CH',
+ '03' => 'HO',
+ '07' => 'OU',
+ '13' => 'XA',
+ '14' => 'XI',
+ '17' => 'LP',
+
+ // valid codes [not used by maxmind]
+ '18' => 'PH', // Phôngsali Province
+ '19' => 'SL', // Salavan Province
+ '20' => 'SV', // Savannakhét Province
+ '22' => 'BK', // Bokèo Province
+ '23' => 'BL', // Bolikhamxai Province
+ '24' => 'VI', // Viangchan Municipality
+ '25' => 'XS', // Xaisômboun Special Zone
+ '26' => 'XE', // Xékong Province
+ '27' => 'VI', // Vientiane Province
+
+ // invalid codes [used by maxmind] (mapped based on the names)
+ '04' => 'KH', //Khammouan
+ '05' => 'LM', //Louang Namtha
+ '08' => 'PH', //Phongsali
+ '09' => 'SL', //Saravan
+ '10' => 'SV', //Savannakhet
+ '11' => 'VI', //Vientiane
+ ],
+ 'LB' => [
+ '04' => 'BA',
+ '05' => 'JL',
+ '06' => 'JA',
+ '07' => 'NA',
+ '08' => 'BI',
+ '09' => 'AS',
+ '10' => 'AK',
+ '11' => 'BH',
+
+ // invalid codes [used by maxmind]
+ '01' => 'BI', // Beqaa
+ '02' => 'JA', // Al Janub
+ '03' => 'AS', // Liban-Nord
+ ],
+ 'LC' => [
+ '01' => '01',
+ '02' => '', // [split up]
+ '03' => '02',
+ '04' => '03',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '10',
+ '10' => '11',
+ '11' => '', // [split up]
+ ],
+ 'LI' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ '10' => '10',
+ '11' => '11',
+
+ // codes screwed up by maxmind
+ // Based on the names they seem to be from Liberia, so remove them
+ '21' => '', // Gbarpolu
+ '22' => '', // River Gee
+ ],
+ 'LK' => [
+ // valid FIPS codes [not used by maxmind]
+ '01' => '52', // Amparai District
+ '02' => '71', // Anuradhapura District
+ '03' => '81', // Badulla District
+ '04' => '51', // Batticaloa District
+ '06' => '31', // Galle District
+ '07' => '33', // Hambantota District
+ '09' => '13', // Kalutara District
+ '10' => '21', // Kandy District
+ '11' => '92', // Kegalla District
+ '12' => '61', // Kurunegala District
+ '14' => '22', // Matale District
+ '15' => '32', // Matara District
+ '16' => '82', // Moneragala District
+ '17' => '23', // Nuwara Eliya District
+ '18' => '72', // Polonnaruwa District
+ '19' => '62', // Puttalam District
+ '20' => '91', // Ratnapura District
+ '21' => '53', // Trincomalee District
+ '23' => '11', // Colombo District
+ '24' => '12', // Gampaha District
+ '25' => '41', // Jaffna District
+ '26' => '43', // Mannar District
+ '27' => '45', // Mullaittivu District
+ '28' => '44', // Vavuniya District
+
+ // invalid codes [use by maxmind]
+ '29' => '2', // Central
+ '30' => '7', // North Central
+ '32' => '6', // North Western
+ '33' => '9', // Sabaragamuwa
+ '34' => '3', // Southern
+ '35' => '8', // Uva
+ '36' => '1', // Western
+ '37' => '5', // Eastern
+ '38' => '4', // Northern
+ ],
+ 'LR' => [
+ '01' => 'BG',
+ '09' => 'NI',
+ '10' => 'SI',
+ '11' => 'GB',
+ '12' => 'CM',
+ '13' => 'MY',
+ '14' => 'MO',
+ '17' => 'MG',
+ '18' => 'RI',
+ '19' => 'GG',
+ '20' => 'LO',
+ '21' => 'GP',
+ '22' => 'RG',
+
+ // valid codes [not used by maxmind]
+ '15' => 'BM',
+ '16' => 'GK',
+
+ // invalid codes [used by maxmind]
+ '04' => 'CM', // Grand Cape Mount
+ '05' => 'LO', // Lofa
+ '06' => 'MY', // Maryland
+ '07' => 'MO', // Monrovia [capital city in region Montserrado]
+ ],
+ 'LS' => [
+ '10' => 'D',
+ '11' => 'B',
+ '12' => 'C',
+ '13' => 'E',
+ '14' => 'A',
+ '15' => 'F',
+ '16' => 'J',
+ '17' => 'H',
+ '18' => 'G',
+ '19' => 'K',
+ ],
+ 'LT' => [
+ '56' => 'AL',
+ '57' => 'KU',
+ '58' => 'KL',
+ '59' => 'MR',
+ '60' => 'PN',
+ '61' => 'SA',
+ '62' => 'TA',
+ '63' => 'TE',
+ '64' => 'UT',
+ '65' => 'VL',
+ ],
+ 'LU' => [
+ // completely reorganized in 2015
+ '01' => '',
+ '02' => '',
+ '03' => '',
+ ],
+ 'LV' => [
+ // mapping based on the names on wikipedia
+ '01' => '002', // Aizkraukles
+ '02' => '007', // Aluksnes
+ '03' => '015', // Balvu
+ '04' => '016', // Bauskas
+ '05' => '022', // Cesu
+ '06' => 'DGV', // Daugavpils
+ '07' => '025', // Daugavpils
+ '08' => '026', // Dobeles
+ '09' => '033', // Gulbenes
+ '10' => '042', // Jekabpils
+ '11' => 'JEL', // Jelgava
+ '12' => '041', // Jelgavas
+ '13' => 'JUR', // Jurmala
+ '14' => '047', // Kraslavas
+ '15' => '050', // Kuldigas
+ '16' => 'LPX', // Liepaja
+ '17' => '', // Liepajas [splitted in 2009 and not mappable]
+ '18' => '054', // Limbazu
+ '19' => '058', // Ludzas
+ '20' => '059', // Madonas
+ '21' => '067', // Ogres
+ '22' => '073', // Preilu
+ '23' => 'REZ', // Rezekne
+ '24' => '077', // Rezeknes
+ '25' => 'RIX', // Riga
+ '26' => '', // Rigas [splitted in 2009 and not mappable]
+ '27' => '088', // Saldus
+ '28' => '097', // Talsu
+ '29' => '099', // Tukuma
+ '30' => '101', // Valkas
+ '31' => 'VMR', // Valmieras
+ '32' => 'VEN', // Ventspils
+ '33' => '106', // Ventspils
+ ],
+ 'LY' => [
+ '03' => 'JI', // Al Aziziyah [part of Jafara since 2009]
+ '05' => 'JU', // Al Jufrah
+ '08' => 'KF', // Al Kufrah
+ '13' => 'WS', // Ash Shati'
+ '30' => 'MQ', // Murzuq
+ '34' => 'SB', // Sabha
+ '41' => 'MQ', // Tarhunah [occupied by Tarhuna wa Msalata and transformed to Murqub in 2009]
+ '42' => 'BU', // Tubruq
+ '45' => 'MI', // Zlitan [part of Misrata since 2009]
+ '47' => 'WA', // Ajdabiya [included in Al Wāḩāt since 2007]
+ '48' => 'MJ', // Al Fatih [some parts are in Marj]
+ '49' => 'JA', // Al Jabal al Akhdar
+ '50' => 'MB', // Al Khums [seems to be part of Al Marqab]
+ '51' => 'NQ', // An Nuqat al Khams
+ '52' => 'WD', // Awbari [part of Wadi al Hayaa]
+ '53' => 'ZA', // Az Zawiyah
+ '54' => 'BA', // Banghazi
+ '55' => 'DR', // Darnah
+ '56' => 'NL', // Ghadamis [part of Nalut]
+ '57' => 'JG', // Gharyan [part of Jabal al Gharbi since 2007]
+ '58' => 'MI', // Misratah
+ '59' => '', // Sawfajjin [split between Sirte and Misrata]
+ '60' => 'SR', // Surt
+ '61' => 'TB', // Tarabulus
+ '62' => '', // Yafran [split between Jabal al Gharbi and Nalut]
+ ],
+ 'MA' => [
+ '45' => '08',
+ '46' => '05',
+ '47' => '11',
+ '48' => '06',
+ '49' => '07',
+ '50' => '09',
+ '51' => '10',
+ '52' => '02',
+ '53' => '14',
+ '54' => '04',
+ '55' => '13',
+ '56' => '12',
+ '57' => '01',
+ '58' => '03',
+ '59' => '15',
+ ],
+ 'MC' => [
+ // there are no fips codes for Monaco
+ // those were used by maxind
+ '01' => 'CO', // La Condamine
+ '02' => 'MO', // Monaco
+ '03' => 'MC', // Monte-Carlo
+ ],
+ 'MD' => [
+ '51' => 'GA',
+ '57' => 'CU', // Chisinau
+ '58' => 'SN', // Stinga Nistrului
+ '59' => 'AN',
+ '60' => 'BA',
+ '61' => 'BS',
+ '62' => 'BD',
+ '63' => 'BR',
+ '64' => 'CA',
+ '65' => 'CT',
+ '66' => 'CL', // Calarasi
+ '67' => 'CS',
+ '68' => 'CM', // Cimislia
+ '69' => 'CR',
+ '70' => 'DO',
+ '71' => 'DR',
+ '72' => 'DU',
+ '73' => 'ED',
+ '74' => 'FA',
+ '75' => 'FL', // Floresti
+ '76' => 'GL',
+ '77' => 'HI',
+ '78' => 'IA',
+ '79' => 'LE',
+ '80' => 'NI',
+ '81' => 'OC',
+ '82' => 'OR',
+ '83' => 'RE',
+ '84' => 'RI',
+ '85' => 'SI',
+ '86' => 'SD',
+ '87' => 'SO',
+ '88' => 'SV',
+ '89' => 'ST',
+ '90' => 'TA', // Taraclia
+ '91' => 'TE',
+ '92' => 'UN', // Ungheni
+ ],
+ 'MG' => [
+ '01' => 'D', // Antsiranana
+ '02' => 'F', // Fianarantsoa
+ '03' => 'M', // Mahajanga
+ '04' => 'A', // Toamasina
+ '05' => 'T', // Antananarivo
+ '06' => 'U', // Toliara
+ ],
+ 'MK' => [
+ '01' => '02', // Aracinovo
+ '02' => '55', // Bac [now part of Novaci]
+ '03' => '22', // Belcista [now Debarca]
+ '04' => '03', // Berovo
+ '05' => '04', // Bistrica [city in Bitola]
+ '06' => '04', // Bitola
+ '07' => '14', // Blatec [now part of Vinica]
+ '08' => '05', // Bogdanci
+ '09' => '80', // Bogomila [city in Caska]
+ '10' => '03', // Bogovinje
+ '11' => '07', // Bosilovo
+ '12' => '08', // Brvenica
+ '14' => '04', // Capari [city in Bitola]
+ '15' => '80', // Caska
+ '16' => '19', // Cegrane [city in Gostivar]
+ '19' => '81', // Cesinovo
+ '20' => '82', // Cucer-Sandevo
+ '21' => '21', // Debar
+ '22' => '23', // Delcevo
+ '23' => '72', // Delogozdi [city in Struga]
+ '24' => '25', // Demir Hisar
+ '25' => '24', // Demir Kapija
+ '26' => '53', // Dobrusevo [city in Moglia]
+ '27' => '19', // Dolna Banjica [city in Gostivar]
+ '28' => '27', // Dolneni
+ '30' => '40', // Drugovo [merged with Kicevo]
+ '31' => '76', // Dzepciste [city in Tetovo]
+ '33' => '18', // Gevgelija
+ '34' => '19', // Gostivar
+ '35' => '20', // Gradsko
+ '36' => '34', // Ilinden
+ '37' => '80', // Izvor [attached to Caska]
+ '38' => '35', // Jegunovce
+ '39' => '03', // Kamenjane [city in Bogovinje]
+ '40' => '37', // Karbinci
+ '41' => '85', // Karpos [now in Skopje]
+ '42' => '36', // Kavadarci
+ '43' => '40', // Kicevo
+ '44' => '85', // Kisela Voda [now in Skopje]
+ '45' => '', // Klecevce [attached to Klecevce and Staro Nagoricane]
+ '46' => '42', // Kocani
+ '47' => '41', // Konce
+ '48' => '85', // Kondovo [now in Skopje]
+ '49' => '36', // Konopiste [city in Kavadarci]
+ '50' => '58', // Kosel [city in Ohrid]
+ '51' => '43', // Kratovo
+ '52' => '44', // Kriva Palanka
+ '53' => '45', // Krivogastani
+ '54' => '46', // Krusevo
+ '55' => '73', // Kuklis [city in Strumica]
+ '56' => '04', // Kukurecani [city in Bitola]
+ '57' => '47', // Kumanovo
+ '58' => '72', // Labunista [city in Struga]
+ '59' => '48', // Lipkovo
+ '60' => '49', // Lozovo
+ '61' => '72', // Lukovo [city in Struga]
+ '62' => '51', // Makedonska Kamenica
+ '63' => '52', // Makedonski Brod
+ '64' => '50', // Mavrovi Anovi [city in Mavrovo i Rostuša]
+ '65' => '22', // Meseista [city in Debarca]
+ '66' => '18', // Miravci [city in Gevgelija]
+ '67' => '53', // Mogila
+ '68' => '73', // Murtino [splitted between Strumica and Bosilovo; major part in Strumica]
+ '69' => '54', // Negotino
+ '70' => '54', // Negotino-Polosko
+ '71' => '55', // Novaci
+ '72' => '56', // Novo Selo
+ '73' => '81', // Oblesevo
+ '74' => '58', // Ohrid
+ '75' => '47', // Orasac [city in Kumanovo]
+ '76' => '48', // Orizari [city in Lipkovo]
+ '77' => '40', // Oslomej [city in Kičevo]
+ '78' => '60', // Pehcevo
+ '79' => '59', // Petrovec
+ '80' => '61', // Plasnica
+ '81' => '64', // Podares [city in Rodavis]
+ '82' => '62', // Prilep
+ '83' => '63', // Probistip
+ '84' => '64', // Radovis
+ '85' => '65', // Rankovce
+ '86' => '66', // Resen
+ '87' => '67', // Rosoman
+ '88' => '50', // Rostusa [city in Mavrovo i Rostuša]
+ '89' => '', // Samokov [city in Sofia] ?????????????????????
+ '90' => '85', // Saraj [now in Skopje]
+ '91' => '76', // Sipkovica [city in Tetovo]
+ '92' => '70', // Sopiste
+ '93' => '25', // Sopotnica [city in Demir Hisar]
+ '94' => '19', // Srbinovo [city in Gostivar]
+ '95' => '55', // Staravina [city in Novaci]
+ '96' => '26', // (Star) Dojran
+ '97' => '71', // Staro Nagoricane
+ '98' => '83', // Stip
+ '99' => '72', // Struga
+ 'A1' => '73', // Strumica
+ 'A2' => '73', // Studenicani
+ 'A3' => '85', // Suto Orizari [now in Skopje]
+ 'A4' => '69', // Sveti Nikole
+ 'A5' => '75', // Tearce
+ 'A6' => '76', // Tetovo
+ 'A7' => '62', // Topolcani [city in Prilep]
+ 'A8' => '10', // Valandovo
+ 'A9' => '11', // Vasilevo
+ 'B1' => '16', // Veles
+ 'B2' => '72', // Velesta [city in Struga]
+ 'B3' => '12', // Vevcani
+ 'B4' => '14', // Vinica
+ 'B5' => '62', // Vitoliste [city in Prilep]
+ 'B6' => '40', // Vranestica [now in Kicevo]
+ 'B7' => '16', // Vrapciste
+ 'B8' => '35', // Vratnica [city in Jegunovce]
+ 'B9' => '19', // Vrutok [city in Gostivar]
+ 'C1' => '40', // Zajas [now in Kicevo]
+ 'C2' => '32', // Zelenikovo
+ 'C3' => '30', // Zelino
+ 'C4' => '27', // Zitose [city in Dolneni]
+ 'C5' => '63', // Zletovo [city in Probistip]
+ 'C6' => '33', // Zrnovci
+
+ // invalid codes [used by maxmind]
+ '13' => '85', // Cair [now in Skopje]
+ '17' => '78', // Centar
+ '18' => '78', // Centar Zupa
+ '29' => '85', // Dorce Petrov [now in Skopje]
+ '32' => '85', // Gazi Baba [now in Skopje]
+ 'C8' => '85', // Cair [now in Skopje]
+ 'C9' => '80', // Caska
+ 'D2' => '21', // Debar
+ 'D3' => '25', // Demir Hisar
+ 'D4' => '19', // Gostivar
+ 'D5' => '35', // Jegunovce
+ 'D6' => '36', // Kavadarci
+ 'D7' => '47', // Kumanovo
+ 'D8' => '52', // Makedonski Brod
+ 'E2' => '58', // Ohrid
+ 'E3' => '62', // Prilep
+ 'E5' => '26', // Dojran
+ 'E6' => '72', // Struga
+ 'E7' => '73', // Strumica
+ 'E8' => '76', // Tetovo
+ 'E9' => '10', // Valandovo
+ 'F1' => '13', // Veles
+ 'F2' => '85', // Aerodrom [now in Skopje]
+ ],
+ 'ML' => [
+ '01' => 'BKO',
+ '03' => '1',
+ '04' => '5',
+ '05' => '4',
+ '06' => '3',
+ '07' => '2',
+ '08' => '6',
+ '09' => '7',
+ '10' => '8',
+ ],
+ 'MM' => [
+ '01' => '16', // Rakhine State
+ '02' => '14', // Chin State
+ '03' => '07', // Irrawaddy
+ '04' => '11', // Kachin State
+ '05' => '13', // Karan State
+ '06' => '12', // Kayah State
+ '08' => '04', // Mandalay
+ '10' => '01', // Sagaing
+ '11' => '17', // Shan State
+ '12' => '05', // Tenasserim
+ '13' => '15', // Mon State
+ '17' => '06', // Yangon
+
+ // invalid codes [used by maxmind]
+ '07' => '03', // Magwe
+ '09' => '02', // Pegu
+ '14' => '06', // Rangoon
+
+ // valid codes [not used by maxmind]
+ '15' => '03', // Magway Division
+ '16' => '02', // Bago Division
+ ],
+ 'MN' => [
+ '01' => '073', // Arhangay
+ '02' => '069', // Bayanhongor
+ '03' => '071', // Bayan-Olgiy
+ '06' => '061', // Dornod
+ '07' => '063', // Dornogovi
+ '08' => '059', // Dundgovi
+ '09' => '057', // Dzavhan
+ '10' => '065', // Govi-Altay
+ '11' => '039', // Hentiy
+ '12' => '043', // Hovd
+ '13' => '041', // Hovsgol
+ '14' => '053', // Omnogovi
+ '15' => '055', // Ovorhangay
+ '16' => '049', // Selenge
+ '17' => '051', // Suhbaatar
+ '18' => '047', // Tov
+ '19' => '046', // Uvs
+ '20' => '1', // Ulaanbaatar
+ '21' => '067', // Bulgan
+ '23' => '037', // Darhan-Uul
+ '24' => '064', // Govisumber
+ '25' => '035', // Orhon
+
+ // invalid codes [used by maxmind]
+ '05' => '037', // Darhan
+ '22' => '035', // Erdenet [city in Orkhon]
+ ],
+ 'MO' => [
+ // No ISO codes assigned for Macau
+ '01' => '', // Ilhas
+ '02' => '', // Macau
+ ],
+ 'MR' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ '10' => '10',
+ '11' => '11',
+ '12' => '12',
+ ],
+ 'MS' => [
+ // No ISO codes assigned for Montserrat
+ '01' => '',
+ '02' => '',
+ '03' => '',
+ ],
+ 'MU' => [
+ '12' => 'BL',
+ '13' => 'FL',
+ '14' => 'GP',
+ '15' => 'MO',
+ '16' => 'PA',
+ '17' => 'PW',
+ '18' => 'PL',
+ '19' => 'RR',
+ '20' => 'SA',
+ '21' => 'AG',
+ '22' => 'CC',
+ '23' => 'RO',
+ ],
+ 'MV' => [
+ '01' => '01',
+ '05' => '05',
+ '30' => '02',
+ '31' => '20',
+ '32' => '17',
+ '33' => '14',
+ '34' => '27',
+ '35' => '28',
+ '36' => '07',
+ '37' => '23',
+ '38' => '26',
+ '39' => '03',
+ '40' => 'MLE',
+ '41' => '12',
+ '42' => '29',
+ '43' => '25',
+ '44' => '13',
+ '45' => '24',
+ '46' => '08',
+ '47' => '04',
+ ],
+ 'MW' => [
+ '02' => 'CK', // Chikwawa
+ '03' => 'CR', // Chiradzulu
+ '04' => 'CT', // Chitipa
+ '05' => 'TH', // Thyolo
+ '06' => 'DE', // Dedza
+ '07' => 'DO', // Dowa
+ '08' => 'KR', // Karonga
+ '09' => 'KS', // Kasungu
+ '11' => 'LI', // Lilongwe
+ '12' => 'MG', // Mangochi
+ '13' => 'MC', // Mchinji
+ '15' => 'MZ', // Mzimba
+ '16' => 'NU', // Ntcheu
+ '17' => 'NB', // Nkhata Bay
+ '18' => 'NK', // Nkhotakota
+ '19' => 'NS', // Nsanje
+ '20' => 'NI', // Ntchisi
+ '21' => 'RU', // Rumphi
+ '22' => 'SA', // Salima
+ '23' => 'ZO', // Zomba
+ '24' => 'BL', // Blantyre
+ '25' => 'MW', // Mwanza
+ '26' => 'BA', // Balaka
+ '27' => 'LK', // Likoma
+ '28' => 'MH', // Machinga
+ '29' => 'MU', // Mulanje
+ '30' => 'PH', // Phalombe
+ ],
+ 'MX' => [
+ '01' => 'AGU',
+ '02' => 'BCN',
+ '03' => 'BCS',
+ '04' => 'CAM',
+ '05' => 'CHP',
+ '06' => 'CHH',
+ '07' => 'COA',
+ '08' => 'COL',
+ '09' => 'CMX',
+ '10' => 'DUR',
+ '11' => 'GUA',
+ '12' => 'GRO',
+ '13' => 'HID',
+ '14' => 'JAL',
+ '15' => 'MEX',
+ '16' => 'MIC',
+ '17' => 'MOR',
+ '18' => 'NAY',
+ '19' => 'NLE',
+ '20' => 'OAX',
+ '21' => 'PUE',
+ '22' => 'QUE',
+ '23' => 'ROO',
+ '24' => 'SLP',
+ '25' => 'SIN',
+ '26' => 'SON',
+ '27' => 'TAB',
+ '28' => 'TAM',
+ '29' => 'TLA',
+ '30' => 'VER',
+ '31' => 'YUC',
+ '32' => 'ZAC',
+ ],
+ 'MY' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '08',
+ '08' => '09',
+ '09' => '07',
+ '11' => '13',
+ '12' => '10',
+ '13' => '11',
+ '14' => '14',
+ '15' => '15',
+ '16' => '12',
+ '17' => '16',
+ ],
+ 'MZ' => [
+ '01' => 'P',
+ '02' => 'G',
+ '03' => 'I',
+ '04' => 'L',
+ '05' => 'S',
+ '06' => 'N',
+ '07' => 'A',
+ '08' => 'T',
+ '09' => 'Q',
+ '10' => 'B',
+ '11' => 'MPM',
+ ],
+ 'NA' => [
+ '21' => 'KH', // Windhoek [capital city of Khomas]
+ '28' => 'CA', // Caprivi (now named Zambezi)
+ '29' => 'ER', // Erongo
+ '30' => 'HA', // Hardap
+ '31' => 'KA', // Karas
+ '32' => 'KU', // Kunene
+ '33' => 'OW', // Ohangwena
+ '34' => '', // Okavango [now splitted in Kavango East and West]
+ '35' => 'OH', // Omaheke
+ '36' => 'OS', // Omusati
+ '37' => 'ON', // Oshana
+ '38' => 'OT', // Oshikoto
+ '39' => 'OD', // Otjozondjupa
+
+ // invalid codes [used by maxmind]
+ '01' => 'KA', // Bethanien [city in Karas]
+ '02' => '', // Caprivi Oos [old region, not mappable]
+ '03' => '', // Boesmanland [old region, not mappable]
+ '04' => 'OH', // Gobabis [capital of Omaheke]
+ '05' => 'OD', // Grootfontein [city in Otjozondjupa]
+ '06' => 'KU', // Kaokoland [now part of Kunene]
+ '07' => 'ER', // Karibib [city in Erongo]
+ '08' => 'KA', // Keetmanshoop [city in Karas]
+ '09' => 'KA', // Luderitz [city in Karas]
+ '10' => 'HA', // Maltahohe [city in Hardap]
+ '11' => 'OD', // Okahandja [city in Otjozondjupa]
+ '12' => 'ER', // Omaruru [city in Erongo]
+ '13' => 'OD', // Otjiwarongo [capital in Otjozondjupa]
+ '14' => 'KU', // Outjo [city in Kunene]
+ '15' => '', // Owambo [old region, not mappable]
+ '16' => 'HA', // Rehoboth [city in Hardap]
+ '17' => 'ER', // Swakopmund [city in Erongo]
+ '18' => 'OT', // Tsumeb [city in Oshikoto]
+ '20' => 'KA', // Karasburg [city in Karas]
+ '22' => '', // Damaraland [old region, not mappable]
+ '23' => '', // Hereroland Oos [old region, not mappable]
+ '24' => '', // Hereroland Wes [old region, not mappable]
+ '25' => '', // Kavango [now splitted in East and West]
+ '26' => 'HA', // Mariental [city in Hardap]
+ '27' => '', // Namaland [old region, not mappable]
+ ],
+ 'NE' => [
+ '01' => '1',
+ '02' => '2',
+ '03' => '3',
+ '04' => '4',
+ '06' => '5',
+ '07' => '7',
+ '08' => '8',
+
+ // valid codes [not used by maxmind]
+ '09' => '6',
+
+ // invalid codes [not used by maxmind]
+ '05' => '8',
+ ],
+ 'NG' => [
+ '05' => 'LA', // Lagos
+ '11' => 'FC', // Federal Capital Territory
+ '16' => 'OG', // Ogun
+ '21' => 'AK', // Akwa Ibom
+ '22' => 'CR', // Cross River
+ '23' => 'KD', // Kaduna
+ '24' => 'KT', // Katsina
+ '25' => 'AN', // Anambra
+ '26' => 'BE', // Benue
+ '27' => 'BO', // Borno
+ '28' => 'IM', // Imo
+ '29' => 'KN', // Kano
+ '30' => 'KW', // Kwara
+ '31' => 'NI', // Niger
+ '32' => 'OY', // Oyo
+ '35' => 'AD', // Adamawa
+ '36' => 'DE', // Delta
+ '37' => 'ED', // Edo
+ '39' => 'JI', // Jigawa
+ '40' => 'KE', // Kebbi
+ '41' => 'KO', // Kogi
+ '42' => 'OS', // Osun
+ '43' => 'TA', // Taraba
+ '44' => 'YO', // Yobe
+ '45' => 'AB', // Abia
+ '46' => 'BA', // Bauchi
+ '47' => 'EN', // Enugu
+ '48' => 'ON', // Ondo
+ '49' => 'PL', // Plateau
+ '50' => 'RI', // Rivers
+ '51' => 'SO', // Sokoto
+ '52' => 'BY', // Bayelsa
+ '53' => 'EB', // Ebonyi
+ '54' => 'EK', // Ekiti
+ '55' => 'GO', // Gombe
+ '56' => 'NA', // Nassarawa
+ '57' => 'ZA', // Zamfara
+ ],
+ 'NI' => [
+ '01' => 'BO',
+ '02' => 'CA',
+ '03' => 'CI',
+ '04' => 'CO',
+ '05' => 'ES',
+ '06' => 'GR',
+ '07' => 'JI',
+ '08' => 'LE',
+ '09' => 'MD',
+ '10' => 'MN',
+ '11' => 'MS',
+ '12' => 'MT',
+ '13' => 'NS',
+ '14' => 'SJ',
+ '15' => 'RI',
+ '17' => 'AN',
+ '18' => 'AS',
+
+ // invalid codes [used by maxmind]
+ '16' => '', // Zelaya
+ ],
+ 'NL' => [
+ '01' => 'DR',
+ '02' => 'FR',
+ '03' => 'GE',
+ '04' => 'GR',
+ '05' => 'LI',
+ '06' => 'NB',
+ '07' => 'NH',
+ '09' => 'UT',
+ '10' => 'ZE',
+ '11' => 'ZH',
+ '15' => 'OV',
+ '16' => 'FL',
+ ],
+ 'NO' => [
+ '01' => '02',
+ '02' => '09',
+ '04' => '06',
+ '05' => '20',
+ '06' => '04',
+ '07' => '12',
+ '08' => '15',
+ '09' => '18',
+ '10' => '17',
+ '11' => '05',
+ '12' => '03',
+ '13' => '01',
+ '14' => '11',
+ '15' => '14',
+ '16' => '16',
+ '17' => '08',
+ '18' => '19',
+ '19' => '10',
+ '20' => '07',
+ ],
+ 'NP' => [
+ '01' => 'BA', // Bagmati
+ '02' => 'BH', // Bheri
+ '03' => 'DH', // Dhawalagiri
+ '04' => 'GA', // Gandaki
+ '05' => 'JA', // Janakpur
+ '06' => 'KA', // Karnali
+ '07' => 'KO', // Kosi
+ '08' => 'LU', // Lumbini
+ '09' => 'MA', // Mahakali
+ '10' => 'ME', // Mechi
+ '11' => 'NA', // Narayani
+ '12' => 'RA', // Rapti
+ '13' => 'SA', // Sagarmatha
+ '14' => 'SE', // Seti
+ ],
+ 'NR' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ '10' => '10',
+ '11' => '11',
+ '12' => '12',
+ '13' => '13',
+ '14' => '14',
+ ],
+ 'NZ' => [
+ '10' => 'CIT',
+ 'E7' => 'AUK',
+ 'E8' => 'BOP',
+ 'E9' => 'CAN',
+ 'F1' => 'GIS',
+ 'F2' => 'HKB',
+ 'F3' => 'MWT',
+ 'F4' => 'MBH',
+ 'F5' => 'NSN',
+ 'F6' => 'NTL',
+ 'F7' => 'OTA',
+ 'F8' => 'STL',
+ 'F9' => 'TKI',
+ 'G1' => 'WKO',
+ 'G2' => 'WGN',
+ 'G3' => 'WTC',
+ ],
+ 'OM' => [
+ '01' => 'DA', // Ad Dakhiliyah
+ '02' => '', // Al Batinah [splitted in two]
+ '03' => 'WU', // Al Wusta
+ '04' => '', // Ash Sharqiyah
+ '06' => 'MA', // Masqat [splitted in two]
+ '07' => 'MU', // Musandam
+ '08' => 'ZU', // Zufar
+
+ // valid codes [not used by maxmind]
+ '09' => 'ZA', // Ad Dhahirah
+ '10' => 'BU', // Al Buraimi
+
+ // invalid codes [used by maxmind]
+ '05' => 'ZA', // Az Zahirah
+ ],
+ 'PA' => [
+ '01' => '1',
+ '02' => '4',
+ '03' => '2',
+ '04' => '3',
+ '05' => '5',
+ '06' => '6',
+ '07' => '7',
+ '08' => '8',
+ '09' => 'KY',
+ '10' => '9',
+ ],
+ 'PE' => [
+ '01' => 'AMA',
+ '02' => 'ANC',
+ '03' => 'APU',
+ '04' => 'ARE',
+ '05' => 'AYA',
+ '06' => 'CAJ',
+ '07' => 'CAL',
+ '08' => 'CUS',
+ '09' => 'HUV',
+ '10' => 'HUC',
+ '11' => 'ICA',
+ '12' => 'JUN',
+ '13' => 'LAL',
+ '14' => 'LAM',
+ '15' => 'LIM',
+ '16' => 'LOR',
+ '17' => 'MDD',
+ '18' => 'MOQ',
+ '19' => 'PAS',
+ '20' => 'PIU',
+ '21' => 'PUN',
+ '22' => 'SAM',
+ '23' => 'TAC',
+ '24' => 'TUM',
+ '25' => 'UCA',
+ ],
+ 'PG' => [
+ '01' => 'CPM',
+ '02' => 'GPK',
+ '03' => 'MBA',
+ '04' => 'NPP',
+ '05' => 'SHM',
+ '06' => 'WPD',
+ '07' => 'NSB',
+ '08' => 'CPK',
+ '09' => 'EHG',
+ '10' => 'EBR',
+ '11' => 'ESW',
+ '12' => 'MPM',
+ '13' => 'MRL',
+ '14' => 'MPL',
+ '15' => 'NIK',
+ '16' => 'WHM',
+ '17' => 'WBK',
+ '18' => 'SAN',
+ '19' => 'EPW',
+ '20' => 'NCD',
+ ],
+ 'PH' => [
+ '01' => 'ABR', // Abra
+ '02' => 'AGN', // Agusan del Norte
+ '03' => 'AGS', // Agusan del Sur
+ '04' => 'AKL', // Aklan
+ '05' => 'ALB', // Albay
+ '06' => 'ANT', // Antique
+ '07' => 'BAN', // Bataan
+ '08' => 'BTN', // Batanes
+ '09' => 'BTG', // Batangas
+ '10' => 'BEN', // Benguet
+ '11' => 'BOH', // Bohol
+ '12' => 'BUK', // Bukidnon
+ '13' => 'BUL', // Bulacan
+ '14' => 'CAG', // Cagayan
+ '15' => 'CAN', // Camarines Norte
+ '16' => 'CAS', // Camarines Sur
+ '17' => 'CAM', // Camiguin
+ '18' => 'CAP', // Capiz
+ '19' => 'CAT', // Catanduanes
+ '20' => 'CAV', // Cavite
+ '21' => 'CEB', // Cebu
+ '22' => 'BAS', // Basilan
+ '23' => 'EAS', // Eastern Samar
+ '24' => 'DAV', // Davao
+ '25' => 'DAS', // Davao del Sur
+ '26' => 'DAO', // Davao Oriental
+ '27' => 'IFU', // Ifugao
+ '28' => 'ILN', // Ilocos Norte
+ '29' => 'ILS', // Ilocos Sur
+ '30' => 'ILI', // Iloilo
+ '31' => 'ISA', // Isabela
+ '32' => '', // Kalinga-Apayao [splitted in two]
+ '33' => 'LAG', // Laguna
+ '34' => 'LAN', // Lanao del Norte
+ '35' => 'LAS', // Lanao del Sur
+ '36' => 'LUN', // La Union
+ '37' => 'LEY', // Leyte
+ '38' => 'MAD', // Marinduque
+ '39' => 'MAS', // Masbate
+ '40' => 'MDC', // Mindoro Occidental
+ '41' => 'MDR', // Mindoro Oriental
+ '42' => 'MSC', // Misamis Occidental
+ '43' => 'MSR', // Misamis Oriental
+ '44' => 'MOU', // Mountain
+ '45' => 'NEC', // Negros Occidental
+ '46' => 'NER', // Negros Oriental
+ '47' => 'NUE', // Nueva Ecija
+ '48' => 'NUV', // Nueva Vizcaya
+ '49' => 'PLW', // Palawan
+ '50' => 'PAM', // Pampanga
+ '51' => 'PAN', // Pangasinan
+ '53' => 'RIZ', // Rizal
+ '54' => 'ROM', // Romblon
+ '55' => 'WSA', // Samar
+ '56' => 'MAG', // Maguindanao
+ '57' => 'NCO', // North Cotabato
+ '58' => 'SOR', // Sorsogon
+ '59' => 'SLE', // Southern Leyte
+ '60' => 'SLU', // Sulu
+ '61' => 'SUN', // Surigao del Norte
+ '62' => 'SUR', // Surigao del Sur
+ '63' => 'TAR', // Tarlac
+ '64' => 'ZMB', // Zambales
+ '65' => 'ZAN', // Zamboanga del Norte
+ '66' => 'ZAS', // Zamboanga del Sur
+ '67' => 'NSA', // Northern Samar
+ '68' => 'QUI', // Quirino
+ '69' => 'SIG', // Siquijor
+ '70' => 'SCO', // South Cotabato
+ '71' => 'SUK', // Sultan Kudarat
+ '72' => 'TAW', // Tawitawi
+ 'A1' => 'PAM', // Angeles [city in Pamganga]
+ 'A2' => 'NEC', // Bacolod [city in Negros Occidental]
+ 'A3' => 'NEC', // Bago [city in Negros Occidental]
+ 'A4' => 'BEN', // Baguio [city in Benguet]
+ 'A5' => 'NER', // Bais [city in Negros Oriental]
+ 'A6' => '09', // Basilan City [city in Zamboanga Peninsula]
+ 'A7' => 'BTG', // Batangas City [capital of Batangas]
+ 'A8' => 'AGN', // Butuan [city in Agusan del Norte]
+ 'A9' => 'NUE', // Cabanatuan [city in Nueva Ecija]
+ 'B1' => 'NEC', // Cadiz [city in Negros Occidental]
+ 'B2' => 'MSR', // Cagayan de Oro [city in Misamis Oriental]
+ 'B3' => 'WSA', // Calbayog [city in Samar]
+ 'B4' => '00', // Caloocan [part of National Capital Region]
+ 'B5' => 'NER', // Canlaon [city in Negros Oriental]
+ 'B6' => 'CAV', // Cavite City [capital of Cavite]
+ 'B7' => 'CEB', // Cebu City [capital of Cebu]
+ 'B8' => 'MAG', // Cotabato [city in Maguindanao]
+ 'B9' => 'PAN', // Dagupan [city in Pangasinan]
+ 'C1' => 'CEB', // Danao [city in Cebu]
+ 'C2' => 'ZAN', // Dapitan [city in Zamboanga del Norte]
+ 'C3' => 'DAS', // Davao City [city in Davao del Sur]
+ 'C4' => 'ZAN', // Dipolog [city in Zamboanga del Norte]
+ 'C5' => 'NER', // Dumaguete [city in Negros Oriental]
+ 'C6' => 'SCO', // General Santos [city in South Cotabato]
+ 'C7' => 'MSR', // Gingoog [city in Misamis Oriental]
+ 'C8' => 'LAN', // Iligan [city in Lanao del Norte]
+ 'C9' => 'ILI', // Iloilo City [capital of Iloilo]
+ 'D1' => 'CAS', // Iriga [city in Camarines Sur]
+ 'D2' => 'NEC', // La Carlota [city in Negros Occidental]
+ 'D3' => 'ILN', // Laoag [city in Ilocos Norte]
+ 'D4' => 'CEB', // Lapu-Lapu [city in Cebu]
+ 'D5' => 'ALB', // Legaspi [city in Albay]
+ 'D6' => 'BTG', // Lipa [city in Batangas]
+ 'D7' => 'QUE', // Lucena [city in Quezon]
+ 'D8' => 'CEB', // Mandaue [city in Cebu]
+ 'D9' => '00', // Manila [part of National Capital Region]
+ 'E1' => 'LAS', // Marawi [city in Lanao del Sur]
+ 'E2' => 'CAS', // Naga [city in Camarines Sur]
+ 'E3' => 'ZMB', // Olongapo [city in Zambales]
+ 'E4' => 'LEY', // Ormoc [city in Leyte]
+ 'E5' => 'MSC', // Oroquieta [city in Misamis Occidental]
+ 'E6' => 'MSC', // Ozamis [city in Misamis Occidental]
+ 'E7' => 'ZAS', // Pagadian [city in Zamboanga del Sur]
+ 'E8' => 'NUE', // Palayan [city in Nueva Ecija]
+ 'E9' => '00', // Pasay [part of National Capital Region]
+ 'F1' => 'PLW', // Puerto Princesa [city in Palawan]
+ 'F2' => '00', // Quezon City [part of National Capital Region]
+ 'F3' => 'CAP', // Roxas [city in Capiz]
+ 'F4' => 'NEC', // San Carlos [city in Negros Occidental]
+ 'F5' => 'PAN', // San Carlos [city in Pangasinan]
+ 'F6' => 'NUE', // San Jose [city in Nueva Ecija]
+ 'F7' => 'LAG', // San Pablo [city in Laguna]
+ 'F8' => 'NEC', // Silay [city in Negros Occidental]
+ 'F9' => 'SUN', // Surigao [city in Surigao del Norte]
+ 'G1' => 'LEY', // Tacloban [city in Leyte]
+ 'G2' => 'CAV', // Tagaytay [city in Cavite]
+ 'G3' => 'BOH', // Tagbilaran [city in Bohol]
+ 'G4' => 'MSC', // Tangub [city in Misamis Occidental]
+ 'G5' => 'CEB', // Toledo [city in Cebu]
+ 'G6' => 'CAV', // Trece Martires [city in Cavite]
+ 'G7' => 'ZAS', // Zamboanga [city in Zamboanga del Sur]
+ 'G8' => 'AUR', // Aurora
+ 'H2' => 'QUE', // Quezon
+ 'H3' => 'NEC', // Negros Occidental
+
+ // invalid codes [used by maxmind]
+ 'H9' => 'BIL', // Biliran
+ 'I6' => 'COM', // Compostela Valley
+ 'I7' => 'DAV', // Davao del Norte
+ 'J3' => 'GUI', // Guimaras
+ 'J4' => 'NEC', // Himamaylan [city in Negros Occidental]
+ 'J7' => 'KAL', // Kalinga
+ 'K1' => '00', // Las Pinas [part of National Capital Region]
+ 'K5' => '00', // Malabon [part of National Capital Region]
+ 'K6' => 'BUK', // Malaybalay [city in Bukidnon]
+ 'L4' => '00', // Muntinlupa [part of National Capital Region]
+ 'L5' => '00', // Navotas [part of National Capital Region]
+ 'L7' => '00', // Paranaque [part of National Capital Region]
+ 'L9' => '', // Passi
+ 'P1' => 'ZMB', // Zambales
+ 'M5' => 'PAM', // San Jose del Monte [city in Pampanga]
+ 'M6' => '', // San Juan [the are many cities with this name]
+ 'M8' => '', // Santiago [the are 3 cities with this name]
+ 'M9' => 'SAR', // Sarangani
+ 'N1' => 'NEC', // Sipalay [city in Negros Occidental]
+ 'N3' => 'SUN', // Surigao del Norte
+ 'P2' => 'ZAS', // Zamboanga [city in Zamboanga del Sur]
+
+ ],
+ 'PK' => [
+ '01' => 'TA',
+ '02' => 'BA',
+ '03' => 'KP',
+ '04' => 'PB',
+ '05' => 'SD',
+ '06' => 'JK',
+ '07' => 'GB',
+ '08' => 'IS',
+ ],
+ 'PL' => [
+ '72' => 'DS',
+ '73' => 'KP',
+ '74' => 'LD',
+ '75' => 'LU',
+ '76' => 'LB',
+ '77' => 'MA',
+ '78' => 'MZ',
+ '79' => 'OP',
+ '80' => 'PK',
+ '81' => 'PD',
+ '82' => 'PM',
+ '83' => 'SL',
+ '84' => 'SK',
+ '85' => 'WN',
+ '86' => 'WP',
+ '87' => 'ZP',
+ ],
+ 'PS' => [
+ // completely new regions
+ 'GZ' => '', // Gaza
+ 'WE' => '', // West Bank
+ ],
+ 'PT' => [
+ '02' => '01',
+ '03' => '02',
+ '04' => '03',
+ '05' => '04',
+ '06' => '05',
+ '07' => '06',
+ '08' => '07',
+ '09' => '08',
+ '10' => '30',
+ '11' => '09',
+ '13' => '10',
+ '14' => '11',
+ '16' => '12',
+ '17' => '13',
+ '18' => '14',
+ '19' => '15',
+ '20' => '16',
+ '21' => '17',
+ '22' => '18',
+ '23' => '20',
+ ],
+ 'PY' => [
+ '01' => '10',
+ '02' => '13',
+ '04' => '5',
+ '05' => '6',
+ '06' => '11',
+ '07' => '1',
+ '08' => '3',
+ '10' => '4',
+ '11' => '7',
+ '12' => '8',
+ '13' => '12',
+ '15' => '9',
+ '16' => '15',
+ '17' => '2',
+ '19' => '14',
+ '22' => 'ASU',
+ '23' => '16',
+ '24' => '19',
+ ],
+ 'QA' => [
+ '01' => 'DA', // Ad Dawhah
+ '02' => 'KH', // Al Ghuwariyah [city in Al Khawr]
+ '03' => 'SH', // Al Jumaliyah [city in Ash Shīḩānīyah]
+ '04' => 'KH', // Al Khawr
+ '06' => 'RA', // Ar Rayyan
+ '08' => 'MS', // Madinat ach Shamal
+ '09' => 'US', // Umm Salal
+ '10' => 'WA', // Al Wakrah
+ '11' => '', // Jariyan al Batnah [split into two]
+ '12' => 'WA', // Umm Sa'id [city in Al Wakrah]
+
+ // invalid codes [used by maxmind]
+ '05' => 'WA', // Al Wakrah Municipality
+ ],
+ 'RO' => [
+ '01' => 'AB',
+ '02' => 'AR',
+ '03' => 'AG',
+ '04' => 'BC',
+ '05' => 'BH',
+ '06' => 'BN',
+ '07' => 'BT',
+ '08' => 'BR',
+ '09' => 'BV',
+ '10' => 'B',
+ '11' => 'BZ',
+ '12' => 'CS',
+ '13' => 'CJ',
+ '14' => 'CT',
+ '15' => 'CV',
+ '16' => 'DB',
+ '17' => 'DJ',
+ '18' => 'GL',
+ '19' => 'GJ',
+ '20' => 'HR',
+ '21' => 'HD',
+ '22' => 'IL',
+ '23' => 'IS',
+ '25' => 'MM',
+ '26' => 'MH',
+ '27' => 'MS',
+ '28' => 'NT',
+ '29' => 'OT',
+ '30' => 'PH',
+ '31' => 'SJ',
+ '32' => 'SM',
+ '33' => 'SB',
+ '34' => 'SV',
+ '35' => 'TR',
+ '36' => 'TM',
+ '37' => 'TL',
+ '38' => 'VS',
+ '39' => 'VL',
+ '40' => 'VN',
+ '41' => 'CL',
+ '42' => 'GR',
+ '43' => 'IF',
+ ],
+ 'RS' => [
+ '01' => 'KM', // Kosovo
+ '02' => 'VO', // Vojvodina
+ ],
+ 'RU' => [
+ '01' => 'AD',
+ '02' => 'ZAB', // Aginsky Buryatsky AO [part of Zabaykal'skiy kray]
+ '03' => 'AL',
+ '04' => 'ALT',
+ '05' => 'AMU',
+ '06' => 'ARK',
+ '07' => 'AST',
+ '08' => 'BA',
+ '09' => 'BEL',
+ '10' => 'BRY',
+ '11' => 'BU',
+ '12' => 'CE',
+ '13' => 'CHE',
+ '14' => 'ZAB', // Chita [part of Zabaykal'skiy kray]
+ '15' => 'CHU',
+ '16' => 'CU',
+ '17' => 'DA',
+ '19' => 'IN',
+ '20' => 'IRK',
+ '21' => 'IVA',
+ '22' => 'KB',
+ '23' => 'KGD',
+ '24' => 'KL',
+ '25' => 'KLU',
+ '27' => 'KC',
+ '28' => 'KR',
+ '29' => 'KEM',
+ '30' => 'KHA',
+ '31' => 'KK',
+ '32' => 'KHM',
+ '33' => 'KIR',
+ '34' => 'KO',
+ '37' => 'KOS',
+ '38' => 'KDA',
+ '40' => 'KGN',
+ '41' => 'KRS',
+ '42' => 'LEN',
+ '43' => 'LIP',
+ '44' => 'MAG',
+ '45' => 'ME',
+ '46' => 'MO',
+ '47' => 'MOS',
+ '48' => 'MOW',
+ '49' => 'MUR',
+ '50' => 'NEN',
+ '51' => 'NIZ',
+ '52' => 'NGR',
+ '53' => 'NVS',
+ '54' => 'OMS',
+ '55' => 'ORE',
+ '56' => 'ORL',
+ '57' => 'PNZ',
+ '59' => 'PRI',
+ '60' => 'PSK',
+ '61' => 'ROS',
+ '62' => 'RYA',
+ '63' => 'SA',
+ '64' => 'SAK',
+ '65' => 'SAM',
+ '66' => 'SPE',
+ '67' => 'SAR',
+ '68' => 'SE',
+ '69' => 'SMO',
+ '70' => 'STA',
+ '71' => 'SVE',
+ '72' => 'TAM',
+ '73' => 'TA',
+ '74' => 'KYA', // Taymyr [part of Krasnoyarsk Krai]
+ '75' => 'TOM',
+ '76' => 'TUL',
+ '77' => 'TVE',
+ '78' => 'TYU',
+ '79' => 'TY',
+ '80' => 'UD',
+ '81' => 'ULY',
+ '83' => 'VLA',
+ '84' => 'VGG',
+ '85' => 'VLG',
+ '86' => 'VOR',
+ '87' => 'YAN',
+ '88' => 'YAR',
+ '89' => 'YEV',
+ '90' => 'PER',
+ '91' => 'KYA',
+ '92' => 'KAM',
+
+ // valid codes [not used by maxmind]
+ '82' => 'IRK', // Ust'-Ordynskiy Buryatskiy [part of Irkutsk Oblast]
+
+ // invalid codes [used by maymind]
+ '18' => 'KYA', // Evenk [part of Krasnoyarsk Krai]
+ '26' => 'KAM', // Kamchatka
+ '36' => 'KAM', // Koryak [part of Kamchatka Krai]
+ '39' => 'KYA', // Krasnoyarsk
+ '58' => 'PER', // Perm
+ '93' => 'ZAB', // Zabaykal'skiy Kray
+ ],
+ 'RW' => [
+ '11' => '02', // Est
+ '12' => '01', // Kigali
+ '13' => '03', // Nord
+ '14' => '04', // Ouest
+ '15' => '05', // Sud
+
+ // invalid codes [used by maxmind]
+ '01' => '05', // Butare [city in Southern]
+ '06' => '05', // Gitarama [city in Southern]
+ '07' => '02', // Kibungo [city in Eastern]
+ '09' => '01', // Kigali
+ ],
+ 'SA' => [
+ '02' => '11',
+ '05' => '03',
+ '06' => '04',
+ '08' => '05',
+ '10' => '01',
+ '11' => '14',
+ '13' => '06',
+ '14' => '02',
+ '15' => '08',
+ '16' => '10',
+ '17' => '09',
+ '19' => '07',
+ '20' => '12',
+ ],
+ 'SB' => [
+ '03' => 'ML',
+ '06' => 'GU',
+ '07' => 'IS',
+ '08' => 'MK',
+ '09' => 'TE',
+ '10' => 'CE',
+ '11' => 'WE',
+ '12' => 'CH',
+ '13' => 'RB',
+ ],
+ 'SC' => [
+ '01' => '01', // Anse aux Pins
+ '02' => '02', // Anse Boileau
+ '03' => '03', // Anse Etoile
+ '05' => '05', // Anse Royale
+ '06' => '06', // Baie Lazare
+ '07' => '07', // Baie Sainte Anne
+ '08' => '08', // Beau Vallon
+ '09' => '09', // Bel Air
+ '10' => '10', // Bel Ombre
+ '11' => '11', // Cascade
+ '12' => '12', // Glacis
+ '14' => '14', // Grand' Anse
+ '17' => '17', // Mont Buxton
+ '18' => '18', // Mont Fleuri
+ '19' => '19', // Plaisance
+ '20' => '20', // Pointe La Rue
+ '22' => '22', // Saint Louis
+ '23' => '23', // Takamaka
+
+ // valid codes [not used by maxmind
+ '24' => '13',
+ '25' => '15',
+ '26' => '16',
+ '27' => '21',
+ '28' => '04',
+ '29' => '24',
+ '30' => '25',
+
+ // invalid codes [used by maxmind]
+ '04' => '04', // Anse Louis
+ '13' => '14', // Grand' Anse
+ '15' => '15', // La Digue
+ '16' => '16', // La Riviere Anglaise
+ '21' => '21', // Port Glaud
+ ],
+ 'SD' => [
+ '29' => 'KH', // Al Khartum
+ '35' => '', // Upper Nile [reorganized, not mappable]
+ '40' => '', // Al Wahadah State [reorganized, not mappable]
+ '44' => '', // Central Equatoria State [reorganized, not mappable]
+ '49' => 'DS', // Southern Darfur
+ '50' => 'KS', // Southern Kordofan
+ '52' => 'KA', // Kassala
+ '53' => 'NR', // River Nile
+ '55' => 'DN', // Northern Darfur
+
+ // valid codes [not used by maxmind]
+ '36' => 'RS',
+ '37' => '', // [reorganized, not mappable]
+ '38' => 'GZ',
+ '39' => 'GD',
+ '41' => 'NW',
+ '42' => 'NB',
+ '43' => 'NO',
+ '45' => '', // [reorganized, not mappable]
+ '46' => '', // [reorganized, not mappable]
+ '47' => 'DW',
+ '48' => 'GK',
+ '51' => '', // [reorganized, not mappable]
+ '54' => '', // [reorganized, not mappable]
+ '56' => 'KN',
+ '57' => '', // [reorganized, not mappable]
+ '58' => 'SI',
+ '59' => '', // [reorganized, not mappable]
+
+ // invalid codes [used by maxmind]
+ '27' => '', // Al Wusta
+ '28' => '', // Al Istiwa'iyah
+ '30' => 'NO', // Ash Shamaliyah
+ '31' => '', // Ash Sharqiyah
+ '32' => '', // Bahr al Ghazal
+ '33' => 'DW', // Darfur
+ '34' => 'GK', // Kurdufan
+ ],
+ 'SE' => [
+ '02' => 'K',
+ '03' => 'X',
+ '05' => 'I',
+ '06' => 'N',
+ '07' => 'Z',
+ '08' => 'F',
+ '09' => 'H',
+ '10' => 'W',
+ '12' => 'G',
+ '14' => 'BD',
+ '15' => 'T',
+ '16' => 'E',
+ '18' => 'D',
+ '21' => 'C',
+ '22' => 'S',
+ '23' => 'AC',
+ '24' => 'Y',
+ '25' => 'U',
+ '26' => 'AB',
+ '27' => 'M',
+ '28' => 'O',
+ ],
+ 'SH' => [
+ '01' => 'AC',
+ '02' => 'HL',
+ '03' => 'TA',
+ ],
+ 'SI' => [
+ '01' => '001', // Ajdovscina Commune
+ '02' => '002', // Beltinci Commune
+ '03' => '003', // Bled Commune
+ '04' => '004', // Bohinj Commune
+ '05' => '005', // Borovnica Commune
+ '06' => '006', // Bovec Commune
+ '07' => '007', // Brda Commune
+ '08' => '009', // Brezice Commune
+ '09' => '008', // Brezovica Commune
+ '11' => '011', // Celje Commune
+ '12' => '012', // Cerklje na Gorenjskem Commune
+ '13' => '013', // Cerknica Commune
+ '14' => '014', // Cerkno Commune
+ '15' => '015', // Crensovci Commune
+ '16' => '016', // Crna na Koroskem Commune
+ '17' => '017', // Crnomelj Commune
+ '19' => '019', // Divaca Commune
+ '20' => '020', // Dobrepolje Commune
+ '22' => '022', // Dol pri Ljubljani Commune
+ '24' => '024', // Dornava Commune
+ '25' => '025', // Dravograd Commune
+ '26' => '026', // Duplek Commune
+ '27' => '027', // Gorenja vas-Poljane Commune
+ '28' => '028', // Gorisnica Commune
+ '29' => '029', // Gornja Radgona Commune
+ '30' => '030', // Gornji Grad Commune
+ '31' => '031', // Gornji Petrovci Commune
+ '32' => '032', // Grosuplje Commune
+ '34' => '034', // Hrastnik Commune
+ '35' => '035', // Hrpelje-Kozina Commune
+ '36' => '036', // Idrija Commune
+ '37' => '037', // Ig Commune
+ '38' => '038', // Ilirska Bistrica Commune
+ '39' => '039', // Ivancna Gorica Commune
+ '40' => '040', // Izola-Isola Commune
+ '42' => '042', // Jursinci Commune
+ '44' => '044', // Kanal Commune
+ '45' => '045', // Kidricevo Commune
+ '46' => '046', // Kobarid Commune
+ '47' => '047', // Kobilje Commune
+ '49' => '049', // Komen Commune
+ '50' => '050', // Koper-Capodistria Urban Commune
+ '51' => '051', // Kozje Commune
+ '52' => '052', // Kranj Commune
+ '53' => '053', // Kranjska Gora Commune
+ '54' => '054', // Krsko Commune
+ '55' => '055', // Kungota Commune
+ '57' => '057', // Lasko Commune
+ '61' => '061', // Ljubljana Urban Commune
+ '62' => '062', // Ljubno Commune
+ '64' => '064', // Logatec Commune
+ '66' => '066', // Loski Potok Commune
+ '68' => '068', // Lukovica Commune
+ '71' => '071', // Medvode Commune
+ '72' => '072', // Menges Commune
+ '73' => '073', // Metlika Commune
+ '74' => '074', // Mezica Commune
+ '76' => '076', // Mislinja Commune
+ '77' => '077', // Moravce Commune
+ '78' => '078', // Moravske Toplice Commune
+ '79' => '079', // Mozirje Commune
+ '80' => '080', // Murska Sobota Urban Commune
+ '81' => '081', // Muta Commune
+ '82' => '082', // Naklo Commune
+ '83' => '083', // Nazarje Commune
+ '84' => '084', // Nova Gorica Urban Commune
+ '86' => '086', // Odranci Commune
+ '87' => '087', // Ormoz Commune
+ '88' => '088', // Osilnica Commune
+ '89' => '089', // Pesnica Commune
+ '91' => '091', // Pivka Commune
+ '92' => '092', // Podcetrtek Commune
+ '94' => '094', // Postojna Commune
+ '97' => '097', // Puconci Commune
+ '98' => '098', // Race-Fram Commune
+ '99' => '099', // Radece Commune
+ 'A1' => '100', // Radenci Commune
+ 'A2' => '101', // Radlje ob Dravi Commune
+ 'A3' => '102', // Radovljica Commune
+ 'A6' => '105', // Rogasovci Commune
+ 'A7' => '106', // Rogaska Slatina Commune
+ 'A8' => '107', // Rogatec Commune
+ 'B1' => '109', // Semic Commune
+ 'B2' => '117', // Sencur Commune
+ 'B3' => '118', // Sentilj Commune
+ 'B4' => '119', // Sentjernej Commune
+ 'B6' => '110', // Sevnica Commune
+ 'B7' => '111', // Sezana Commune
+ 'B8' => '121', // Skocjan Commune
+ 'B9' => '122', // Skofja Loka Commune
+ 'C1' => '123', // Skofljica Commune
+ 'C2' => '112', // Slovenj Gradec Urban Commune
+ 'C4' => '114', // Slovenske Konjice Commune
+ 'C5' => '124', // Smarje pri Jelsah Commune
+ 'C6' => '125', // Smartno ob Paki Commune
+ 'C7' => '126', // Sostanj Commune
+ 'C8' => '115', // Starse Commune
+ 'C9' => '127', // Store Commune
+ 'D1' => '210', // Sveti Jurij Commune
+ 'D2' => '128', // Tolmin Commune
+ 'D3' => '129', // Trbovlje Commune
+ 'D4' => '130', // Trebnje Commune
+ 'D5' => '131', // Trzic Commune
+ 'D6' => '132', // Turnisce Commune
+ 'D7' => '133', // Velenje Urban Commune
+ 'D8' => '134', // Velike Lasce Commune
+ 'E1' => '136', // Vipava Commune
+ 'E2' => '137', // Vitanje Commune
+ 'E3' => '138', // Vodice Commune
+ 'E5' => '140', // Vrhnika Commune
+ 'E6' => '141', // Vuzenica Commune
+ 'E7' => '142', // Zagorje ob Savi Commune
+ 'E9' => '143', // Zavrc Commune
+ 'F1' => '146', // Zelezniki Commune
+ 'F2' => '147', // Ziri Commune
+ 'F3' => '144', // Zrece Commune
+ 'F4' => '148', // Benedikt Commune
+ 'F5' => '149', // Bistrica ob Sotli Commune
+ 'F6' => '150', // Bloke Commune
+ 'F7' => '151', // Braslovce Commune
+ 'F8' => '152', // Cankova Commune
+ 'F9' => '153', // Cerkvenjak Commune
+ 'G1' => '018', // Destrnik Commune
+ 'G2' => '154', // Dobje Commune
+ 'G3' => '155', // Dobrna Commune
+ 'G4' => '021', // Dobrova-Horjul-Polhov Gradec Commune
+ 'G5' => '156', // Dobrovnik-Dobronak Commune
+ 'G6' => '157', // Dolenjske Toplice Commune
+ 'G7' => '023', // Domzale Commune
+ 'G8' => '158', // Grad Commune
+ 'G9' => '159', // Hajdina Commune
+ 'H1' => '160', // Hoce-Slivnica Commune
+ 'H2' => '161', // Hodos-Hodos Commune
+ 'H3' => '162', // Horjul Commune
+ 'H4' => '041', // Jesenice Commune
+ 'H5' => '163', // Jezersko Commune
+ 'H6' => '043', // Kamnik Commune
+ 'H7' => '048', // Kocevje Commune
+ 'H8' => '164', // Komenda Commune
+ 'H9' => '165', // Kostel Commune
+ 'I1' => '166', // Krizevci Commune
+ 'I2' => '056', // Kuzma Commune
+ 'I3' => '058', // Lenart Commune
+ 'I4' => '059', // Lendava-Lendva Commune
+ 'I5' => '060', // Litija Commune
+ 'I6' => '063', // Ljutomer Commune
+ 'I7' => '065', // Loska Dolina Commune
+ 'I8' => '167', // Lovrenc na Pohorju Commune
+ 'I9' => '067', // Luce Commune
+ 'J1' => '069', // Majsperk Commune
+ 'J2' => '070', // Maribor Commune
+ 'J3' => '168', // Markovci Commune
+ 'J4' => '169', // Miklavz na Dravskem polju Commune
+ 'J5' => '075', // Miren-Kostanjevica Commune
+ 'J6' => '170', // Mirna Pec Commune
+ 'J7' => '085', // Novo mesto Urban Commune
+ 'J8' => '171', // Oplotnica Commune
+ 'J9' => '090', // Piran-Pirano Commune
+ 'K1' => '172', // Podlehnik Commune
+ 'K2' => '093', // Podvelka Commune
+ 'K3' => '173', // Polzela Commune
+ 'K4' => '174', // Prebold Commune
+ 'K5' => '095', // Preddvor Commune
+ 'K6' => '175', // Prevalje Commune
+ 'K7' => '096', // Ptuj Urban Commune
+ 'K8' => '103', // Ravne na Koroskem Commune
+ 'K9' => '176', // Razkrizje Commune
+ 'L1' => '104', // Ribnica Commune
+ 'L2' => '177', // Ribnica na Pohorju Commune
+ 'L3' => '108', // Ruse Commune
+ 'L4' => '033', // Salovci Commune
+ 'L5' => '178', // Selnica ob Dravi Commune
+ 'L6' => '183', // Sempeter-Vrtojba Commune
+ 'L7' => '120', // Sentjur pri Celju Commune
+ 'L8' => '113', // Slovenska Bistrica Commune
+ 'L9' => '194', // Smartno pri Litiji Commune
+ 'M1' => '179', // Sodrazica Commune
+ 'M2' => '180', // Solcava Commune
+ 'M3' => '181', // Sveta Ana Commune
+ 'M4' => '182', // Sveti Andraz v Slovenskih goricah Commune
+ 'M5' => '184', // Tabor Commune
+ 'M6' => '010', // Tisina Commune
+ 'M7' => '185', // Trnovska vas Commune
+ 'M8' => '186', // Trzin Commune
+ 'M9' => '187', // Velika Polana Commune
+ 'N1' => '188', // Verzej Commune
+ 'N2' => '135', // Videm Commune
+ 'N3' => '139', // Vojnik Commune
+ 'N4' => '189', // Vransko Commune
+ 'N5' => '190', // Zalec Commune
+ 'N6' => '191', // Zetale Commune
+ 'N7' => '192', // Zirovnica Commune
+ 'N8' => '193', // Zuzemberk Commune
+
+ // invalid codes [used by maxmind]
+ 'N9' => '195', // Apace Commune
+ 'O1' => '196', // Cirkulane Commune
+ 'O2' => '207', // Gorje
+ 'O3' => '197', // Kostanjevica na Krki
+ 'O4' => '208', // Log-Dragomer
+ 'O5' => '198', // Makole
+ 'O6' => '212', // Mirna
+ 'O7' => '199', // Mokronog-Trebelno
+ 'O8' => '200', // Poljcane
+ 'O9' => '209', // Recica ob Savinji
+ 'P1' => '201', // Rence-Vogrsko
+ 'P2' => '211', // Sentrupert
+ 'P3' => '206', // Smarjesk Toplice
+ 'P4' => '202', // Sredisce ob Dravi
+ 'P5' => '203', // Straza
+ 'P7' => '210', // Sveti Jurij v Slovenskih Goricah
+ ],
+ 'SK' => [
+ '01' => 'BC',
+ '02' => 'BL',
+ '03' => 'KI',
+ '04' => 'NI',
+ '05' => 'PV',
+ '06' => 'TC',
+ '07' => 'TA',
+ '08' => 'ZI',
+ ],
+ 'SL' => [
+ '01' => 'E',
+ '02' => 'N',
+ '03' => 'S',
+ '04' => 'W',
+ ],
+ 'SM' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ ],
+ 'SN' => [
+ '01' => 'DK',
+ '03' => 'DB',
+ '05' => 'TC',
+ '07' => 'TH',
+ '09' => 'FK',
+ '10' => 'KL',
+ '11' => 'KD',
+ '12' => 'ZG',
+ '13' => 'LG',
+ '14' => 'SL',
+ '15' => 'MT',
+ ],
+ 'SO' => [
+ '01' => 'BK',
+ '02' => 'BN',
+ '03' => 'BR',
+ '04' => 'BY',
+ '05' => 'GA',
+ '06' => 'GE',
+ '07' => 'HI',
+ '08' => 'JD',
+ '09' => 'JH',
+ '10' => 'MU',
+ '12' => 'SA',
+ '13' => 'SD',
+ '14' => 'SH',
+ '18' => 'NU',
+ '19' => 'TO',
+ '20' => 'WO',
+ '21' => 'AW',
+ '22' => 'SO',
+
+ // invalid codes [used by maxmind]
+ '11' => 'NU',
+ '16' => 'WO',
+ ],
+ 'SR' => [
+ '10' => 'BR',
+ '11' => 'CM',
+ '12' => 'CR',
+ '13' => 'MA',
+ '14' => 'NI',
+ '15' => 'PR',
+ '16' => 'PM',
+ '17' => 'SA',
+ '18' => 'SI',
+ '19' => 'WA',
+ ],
+ 'SS' => [
+ // invalid codes [used by maxmind]
+ '01' => 'EC', // Central Equatoria
+ '02' => 'EE', // Eastern Equatoria
+ '03' => 'JG', // Jonglei
+ '04' => 'LK', // Lakes
+ '05' => 'BN', // Northern Bahr el Ghazal
+ '06' => 'UY', // Unity
+ '07' => 'NU', // Upper Nile
+ '08' => 'WR', // Warrap
+ '09' => 'BW', // Western Bahr el Ghazal
+ '10' => 'EW', // Western Equatoria
+ ],
+ 'ST' => [
+ '01' => 'P', // Principe
+ '02' => 'S', // Sao Tome
+ ],
+ 'SV' => [
+ '01' => 'AH',
+ '02' => 'CA',
+ '03' => 'CH',
+ '04' => 'CU',
+ '05' => 'LI',
+ '06' => 'PA',
+ '07' => 'UN',
+ '08' => 'MO',
+ '09' => 'SM',
+ '10' => 'SS',
+ '11' => 'SA',
+ '12' => 'SV',
+ '13' => 'SO',
+ '14' => 'US',
+ ],
+ 'SY' => [
+ '01' => 'HA', // Al Hasakah
+ '02' => 'LA', // Al Ladhiqiyah
+ '03' => 'QU', // Al Qunaytirah
+ '04' => 'RA', // Ar Raqqah
+ '05' => 'SU', // As Suwayda'
+ '06' => 'DR', // Dar
+ '07' => 'DY', // Dayr az Zawr
+ '08' => 'RD', // Rif Dimashq
+ '09' => 'HL', // Halab
+ '10' => 'HM', // Hamah
+ '11' => 'HI', // Hims
+ '12' => 'ID', // Idlib
+ '13' => 'DI', // Dimashq
+ '14' => 'TA', // Tartus
+ ],
+ 'SZ' => [
+ '01' => 'HH',
+ '02' => 'LU',
+ '03' => 'MA',
+ '04' => 'SH',
+
+ // screwed up code, that seems to be from Seychelles
+ '05' => '', // Praslin
+ ],
+ 'TD' => [
+ '01' => 'BA',
+ '02' => 'WF',
+ '03' => '', // Borkou-Ennedi-Tibesti [split up]
+ '05' => 'GR',
+ '06' => 'KA',
+ '07' => 'LC',
+ '08' => 'LO',
+ '09' => 'LR',
+ '12' => 'OD',
+ '13' => 'SA',
+ '14' => 'TA',
+
+ // invalid codes [used by maxmind]
+ '04' => '', // Chari-Baguirmi [split up]
+ '10' => '', // Mayo-Kebbi [split into east and west]
+ '11' => 'MC', // Moyen-Chari
+
+ // valid codes [not used by maxmind]
+ '15' => '', // Chari-Baguirmi [split up]
+ '16' => 'ME',
+ '17' => 'MC',
+ '18' => 'HL',
+ '19' => 'MA',
+ '20' => 'MO',
+ '21' => 'ND',
+ ],
+ 'TG' => [
+ '22' => 'C',
+ '23' => 'K',
+ '24' => 'M',
+ '25' => 'P',
+ '26' => 'S',
+ ],
+ 'TH' => [
+ '01' => '58', // Mae Hong Son
+ '02' => '50', // Chiang Mai
+ '03' => '57', // Chiang Rai
+ '04' => '55', // Nan
+ '05' => '51', // Lamphun
+ '06' => '52', // Lampang
+ '07' => '54', // Phrae
+ '08' => '63', // Tak
+ '09' => '64', // Sukhothai
+ '10' => '53', // Uttaradit
+ '11' => '62', // Kamphaeng Phet
+ '12' => '65', // Phitsanulok
+ '13' => '66', // Phichit
+ '14' => '67', // Phetchabun
+ '15' => '61', // Uthai Thani
+ '16' => '60', // Nakhon Sawan
+ '17' => '43', // Nong Khai
+ '18' => '42', // Loei
+ '20' => '47', // Sakon Nakhon
+ '22' => '40', // Khon Kaen
+ '23' => '46', // Kalasin
+ '24' => '44', // Maha Sarakham
+ '25' => '45', // Roi Et
+ '26' => '36', // Chaiyaphum
+ '27' => '30', // Nakhon Ratchasima
+ '28' => '31', // Buriram
+ '29' => '32', // Surin
+ '30' => '33', // Sisaket
+ '31' => '96', // Narathiwat
+ '32' => '18', // Chai Nat
+ '33' => '17', // Sing Buri
+ '34' => '16', // Lop Buri
+ '35' => '15', // Ang Thong
+ '36' => '14', // Phra Nakhon Si Ayutthaya
+ '37' => '19', // Saraburi
+ '38' => '12', // Nonthaburi
+ '39' => '13', // Pathum Thani
+ '40' => '10', // Krung Thep
+ '41' => '56', // Phayao
+ '42' => '11', // Samut Prakan
+ '43' => '26', // Nakhon Nayok
+ '44' => '24', // Chachoengsao
+ '46' => '20', // Chon Buri
+ '47' => '21', // Rayong
+ '48' => '22', // Chanthaburi
+ '49' => '23', // Trat
+ '50' => '71', // Kanchanaburi
+ '51' => '72', // Suphan Buri
+ '52' => '70', // Ratchaburi
+ '53' => '73', // Nakhon Pathom
+ '54' => '75', // Samut Songkhram
+ '55' => '74', // Samut Sakhon
+ '56' => '76', // Phetchaburi
+ '57' => '77', // Prachuap Khiri Khan
+ '58' => '86', // Chumphon
+ '59' => '85', // Ranong
+ '60' => '84', // Surat Thani
+ '61' => '82', // Phangnga
+ '62' => '83', // Phuket
+ '63' => '81', // Krabi
+ '64' => '80', // Nakhon Si Thammarat
+ '65' => '92', // Trang
+ '66' => '93', // Phatthalung
+ '67' => '91', // Satun
+ '68' => '90', // Songkhla
+ '69' => '94', // Pattani
+ '70' => '95', // Yala
+ '72' => '35', // Yasothon
+ '73' => '48', // Nakhon Phanom
+ '74' => '25', // Prachin Buri
+ '75' => '34', // Ubon Ratchathani
+ '76' => '41', // Udon Thani
+ '77' => '37', // Amnat Charoen
+ '78' => '49', // Mukdahan
+ '79' => '39', // Nong Bua Lamphu
+ '80' => '27', // Sa Kaeo
+
+ // invalid codes [used by maxmind]
+ '21' => '48', // Nakhon Phanom
+ '45' => '25', // Prachin Buri
+ '71' => '34', // Ubon Ratchathani
+ '81' => '38', // Bueng Kan
+ ],
+ 'TJ' => [
+ '01' => 'GB',
+ '02' => 'KT',
+ '03' => 'SU',
+
+ // invalid codes [used by maxmind]
+ '04' => 'DU',
+ '05' => 'RA',
+ ],
+ 'TL' => [
+ // invalid codes [used by maxmind]
+ '06' => 'DI', // Dili
+ ],
+ 'TM' => [
+ '01' => 'A',
+ '02' => 'B',
+ '03' => 'D',
+ '04' => 'L',
+ '05' => 'M',
+ ],
+ 'TN' => [
+ '02' => '42',
+ '03' => '41',
+ '06' => '32',
+ '10' => '71',
+ '14' => '33',
+ '15' => '53',
+ '16' => '52',
+ '17' => '31',
+ '18' => '23',
+ '19' => '21',
+ '22' => '34',
+ '23' => '51',
+ '27' => '13',
+ '28' => '82',
+ '29' => '81',
+ '31' => '73',
+ '32' => '61',
+ '33' => '43',
+ '34' => '83',
+ '35' => '72',
+ '36' => '11',
+ '37' => '22',
+ '38' => '12',
+ '39' => '14',
+ ],
+ 'TO' => [
+ '01' => '02',
+ '02' => '04',
+ '03' => '05',
+ ],
+ 'TR' => [
+ '02' => '02', // Adiyaman
+ '03' => '03', // Afyonkarahisar
+ '04' => '04', // Agri
+ '05' => '05', // Amasya
+ '07' => '07', // Antalya
+ '08' => '08', // Artvin
+ '09' => '09', // Aydin
+ '10' => '10', // Balikesir
+ '11' => '11', // Bilecik
+ '12' => '12', // Bingol
+ '13' => '13', // Bitlis
+ '14' => '14', // Bolu
+ '15' => '15', // Burdur
+ '16' => '16', // Bursa
+ '17' => '17', // Canakkale
+ '19' => '19', // Corum
+ '20' => '20', // Denizli
+ '21' => '21', // Diyarbakir
+ '22' => '22', // Edirne
+ '23' => '23', // Elazig
+ '24' => '24', // Erzincan
+ '25' => '25', // Erzurum
+ '26' => '26', // Eskisehir
+ '28' => '28', // Giresun
+ '31' => '31', // Hatay
+ '32' => '33', // Mersin
+ '33' => '32', // Isparta
+ '34' => '34', // Istanbul
+ '35' => '35', // Izmir
+ '37' => '37', // Kastamonu
+ '38' => '38', // Kayseri
+ '39' => '39', // Kirklareli
+ '40' => '40', // Kirsehir
+ '41' => '41', // Kocaeli
+ '43' => '43', // Kutahya
+ '44' => '44', // Malatya
+ '45' => '45', // Manisa
+ '46' => '46', // Kahramanmaras
+ '48' => '48', // Mugla
+ '49' => '49', // Mus
+ '50' => '50', // Nevsehir
+ '52' => '52', // Ordu
+ '53' => '53', // Rize
+ '54' => '54', // Sakarya
+ '55' => '55', // Samsun
+ '57' => '57', // Sinop
+ '58' => '58', // Sivas
+ '59' => '59', // Tekirdag
+ '60' => '60', // Tokat
+ '61' => '61', // Trabzon
+ '62' => '62', // Tunceli
+ '63' => '63', // Sanliurfa
+ '64' => '64', // Usak
+ '65' => '65', // Van
+ '66' => '66', // Yozgat
+ '68' => '06', // Ankara
+ '69' => '29', // Gumushane
+ '70' => '30', // Hakkari
+ '71' => '42', // Konya
+ '72' => '47', // Mardin
+ '73' => '51', // Nigde
+ '74' => '56', // Siirt
+ '75' => '68', // Aksaray
+ '76' => '72', // Batman
+ '77' => '69', // Bayburt
+ '78' => '70', // Karaman
+ '79' => '71', // Kirikkale
+ '80' => '73', // Sirnak
+ '81' => '01', // Adana
+ '82' => '18', // Cankiri
+ '83' => '27', // Gaziantep
+ '84' => '36', // Kars
+ '85' => '67', // Zonguldak
+ '86' => '75', // Ardahan
+ '87' => '74', // Bartin
+ '88' => '76', // Igdir
+ '89' => '78', // Karabuk
+ '90' => '79', // Kilis
+ '91' => '80', // Osmaniye
+ '92' => '77', // Yalova
+ '93' => '81', // Duzce
+ ],
+ 'TT' => [
+ '01' => 'ARI', // Arima
+ '02' => '', // Caroni [split up]
+ '03' => 'MRC', // Mayaro
+ '04' => '', // Nariva [split up]
+ '05' => 'POS', // Port-of-Spain
+ '06' => 'SGE', // Saint Andrew [now in Sangre Grand]
+ '07' => 'SGE', // Saint David [now in Sangre Grand]
+ '08' => '', // Saint George [split up]
+ '09' => '', // Saint Patrick [split up]
+ '10' => 'SFO', // San Fernando
+ '11' => 'TOB', // Tobago
+ '12' => '', // Victoria [split up]
+ ],
+ 'TW' => [
+ '01' => '',
+ '02' => 'KHH',
+ '03' => 'TPE',
+ '04' => '',
+ ],
+ 'TZ' => [
+ '02' => '19',
+ '03' => '03',
+ '04' => '04',
+ '05' => '08',
+ '06' => '09',
+ '07' => '12',
+ '08' => '13',
+ '09' => '14',
+ '10' => '16',
+ '11' => '17',
+ '12' => '18',
+ '13' => '06',
+ '14' => '21',
+ '15' => '22',
+ '16' => '23',
+ '17' => '24',
+ '18' => '25',
+ '19' => '05',
+ '20' => '10',
+ '21' => '11',
+ '22' => '07',
+ '23' => '02',
+ '24' => '20',
+ '25' => '15',
+ '26' => '01',
+ '27' => '26',
+ ],
+ 'UA' => [
+ '01' => '71',
+ '02' => '74',
+ '03' => '77',
+ '04' => '12',
+ '05' => '14',
+ '06' => '26',
+ '07' => '63',
+ '08' => '65',
+ '09' => '68',
+ '10' => '35',
+ '11' => '43',
+ '12' => '30',
+ '13' => '32',
+ '14' => '09',
+ '15' => '46',
+ '16' => '48',
+ '17' => '51',
+ '18' => '53',
+ '19' => '56',
+ '20' => '40',
+ '21' => '59',
+ '22' => '61',
+ '23' => '05',
+ '24' => '07',
+ '25' => '21',
+ '26' => '23',
+ '27' => '18',
+ ],
+ 'UG' => [
+ '26' => '302', // Apac
+ '28' => '401', // Bundibugyo
+ '29' => '102', // Bushenyi
+ '30' => '304', // Gulu
+ '31' => '403', // Hoima
+ '33' => '204', // Jinja
+ '36' => '101', // Kalangala
+ '37' => '102', // Kampala
+ '38' => '205', // Kamuli
+ '39' => '206', // Kapchorwa
+ '40' => '406', // Kasese
+ '41' => '407', // Kibale
+ '42' => '103', // Kiboga
+ '43' => '408', // Kisoro
+ '45' => '306', // Kotido
+ '46' => '208', // Kumi
+ '47' => '307', // Lira
+ '50' => '409', // Masindi
+ '52' => '410', // Mbarara
+ '56' => '107', // Mubende
+ '58' => '310', // Nebbi
+ '59' => '411', // Ntungamo
+ '60' => '210', // Pallisa
+ '61' => '110', // Rakai
+ '65' => '301', // Adjumani
+ '66' => '201', // Bugiri
+ '67' => '202', // Busia
+ '69' => '207', // Katakwi
+ '70' => '104', // Luwero
+ '71' => '105', // Masaka
+ '72' => '309', // Moyo
+ '73' => '109', // Nakasongola
+ '74' => '111', // Sembabule
+ '76' => '212', // Tororo
+ '77' => '303', // Arua
+ '78' => '203', // Iganga
+ '79' => '405', // Kabarole
+ '80' => '213', // Kaberamaido
+ '81' => '413', // Kamwenge
+ '82' => '414', // Kanungu
+ '83' => '112', // Kayunga
+ '84' => '305', // Kitgum
+ '85' => '415', // Kyenjojo
+ '86' => '214', // Mayuge
+ '87' => '209', // Mbale
+ '88' => '308', // Moroto
+ '89' => '106', // Mpigi
+ '90' => '108', // Mukono
+ '91' => '311', // Nakapiripirit
+ '92' => '312', // Pader
+ '93' => '412', // Rukungiri
+ '94' => '215', // Sironko
+ '95' => '211', // Soroti
+ '96' => '113', // Wakiso
+ '97' => '313', // Yumbe
+
+ // valid codes [not used by maxmind]
+ '34' => '404', // Kabale
+ ],
+ 'UY' => [
+ '01' => 'AR',
+ '02' => 'CA',
+ '03' => 'CL',
+ '04' => 'CO',
+ '05' => 'DU',
+ '06' => 'FS',
+ '07' => 'FD',
+ '08' => 'LA',
+ '09' => 'MA',
+ '10' => 'MO',
+ '11' => 'PA',
+ '12' => 'RN',
+ '13' => 'RV',
+ '14' => 'RO',
+ '15' => 'SA',
+ '16' => 'SJ',
+ '17' => 'SO',
+ '18' => 'TA',
+ '19' => 'TT',
+ ],
+ 'UZ' => [
+ '01' => 'AN',
+ '02' => 'BU',
+ '03' => 'FA',
+ '05' => 'XO',
+ '06' => 'NG',
+ '07' => 'NW',
+ '08' => 'QA',
+ '09' => 'QR',
+ '10' => 'SA',
+ '12' => 'SU',
+ '13' => 'TK',
+ '14' => 'TO',
+ '15' => 'JI',
+
+ // invalid codes [used by maxmind]
+ '04' => 'JI',
+ '11' => 'SI',
+ ],
+ 'VC' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ ],
+ 'VE' => [
+ '01' => 'Z',
+ '02' => 'B',
+ '03' => 'C',
+ '04' => 'D',
+ '05' => 'E',
+ '06' => 'F',
+ '07' => 'G',
+ '08' => 'H',
+ '09' => 'Y',
+ '11' => 'I',
+ '12' => 'J',
+ '13' => 'K',
+ '14' => 'L',
+ '15' => 'M',
+ '16' => 'N',
+ '17' => 'O',
+ '18' => 'P',
+ '19' => 'R',
+ '20' => 'S',
+ '21' => 'T',
+ '22' => 'U',
+ '23' => 'V',
+ '24' => 'W',
+ '25' => 'A',
+ '26' => 'X',
+ ],
+ 'VN' => [
+ '01' => '44', // An Giang
+ '03' => '50', // Ben Tre
+ '05' => '04', // Cao Bang
+ '09' => '45', // Dong Thap
+ '13' => 'HP', // Hai Phong
+ '20' => 'SG', // Ho Chi Minh
+ '21' => '47', // Kien Giang
+ '23' => '35', // Lam Dong
+ '24' => '41', // Long An
+ '30' => '13', // Quang Ninh
+ '32' => '05', // Son La
+ '33' => '37', // Tay Ninh
+ '34' => '21', // Thanh Hoa
+ '35' => '20', // Thai Binh
+ '37' => '46', // Tien Giang
+ '39' => '09', // Lang Son
+ '43' => '39', // Dong Nai
+ '44' => 'HN', // Ha Noi
+ '45' => '45', // Ba Ria-Vung Tau
+ '46' => '31', // Binh Dinh
+ '47' => '40', // Binh Thuan
+ '49' => '30', // Gia Lai
+ '50' => '03', // Ha Giang
+ '52' => '23', // Ha Tinh
+ '53' => '14', // Hoa Binh
+ '54' => '34', // Khanh Hoa
+ '55' => '28', // Kon Tum
+ '58' => '22', // Nghe An
+ '59' => '18', // Ninh Binh
+ '60' => '36', // Ninh Thuan
+ '61' => '32', // Phu Yen
+ '62' => '24', // Quang Binh
+ '63' => '29', // Quang Ngai
+ '64' => '25', // Quang Tri
+ '65' => '52', // Soc Trang
+ '66' => '26', // Thua Thien-Hue
+ '67' => '51', // Tra Vinh
+ '68' => '07', // Tuyen Quang
+ '69' => '49', // Vinh Long
+ '70' => '06', // Yen Bai
+ '71' => '54', // Bac Giang
+ '72' => '53', // Bac Kan
+ '73' => '55', // Bac Lieu
+ '74' => '56', // Bac Ninh
+ '75' => '57', // Binh Duong
+ '76' => '58', // Binh Phuoc
+ '77' => '59', // Ca Mau
+ '78' => 'DN', // Da Nang
+ '79' => '61', // Hai Duong
+ '80' => '63', // Ha Nam
+ '81' => '66', // Hung Yen
+ '82' => '67', // Nam Dinh
+ '83' => '68', // Phu Tho
+ '84' => '27', // Quang Nam
+ '85' => '69', // Thai Nguyen
+ '86' => '70', // Vinh Phuc
+ '87' => 'CT', // Can Tho
+ '88' => '33', // Dac Lak
+ '89' => '01', // Lai Chau
+ '90' => '02', // Lao Cai
+ '91' => '72', // Dak Nong
+ '92' => '71', // Dien Bien
+ '93' => '73', // Hau Giang
+
+ // valid codes [not used by maxmind]
+ '51' => 'HN', // Hà Tây [merged in Ha Noi]
+ ],
+ 'VU' => [
+ '07' => 'TOB',
+ '13' => 'SAM',
+ '15' => 'TAE',
+ '16' => 'MAP',
+ '17' => 'PAM',
+ '18' => 'SEE',
+
+ // invalid codes [used by maxmind]
+ '05' => 'MAP', // Ambrym [island in Malampa]
+ '06' => 'PAM', // Aoba [island in Penama]
+ '08' => 'SEE', // Efate [island in Shefa]
+ '09' => 'SEE', // Epi [island in Shefa]
+ '10' => 'MAP', // Malakula [island in Malampa]
+ '11' => 'MAP', // Paama [island in Malampa]
+ '12' => 'PAM', // Pentecote [island in Penama]
+ '14' => 'SEE', // Shepherd [island in Shefa]
+ ],
+ 'WS' => [
+ '02' => 'AL',
+ '03' => 'AT',
+ '04' => 'FA',
+ '05' => 'GE',
+ '06' => 'VF',
+ '07' => 'GI',
+ '08' => 'PA',
+ '09' => 'SA',
+ '10' => 'TU',
+ '11' => 'VS',
+
+ // valid codes [not used by maxmind]
+ '01' => 'AA',
+ ],
+ 'YE' => [
+ '01' => 'AB', // Abyan
+ '02' => 'AD', // Adan
+ '03' => 'MR', // Al Mahrah
+ '04' => 'HD', // Hadramawt
+ '05' => 'SH', // Shabwah
+ '08' => 'HU', // Al Hudaydah
+ '10' => 'MW', // Al Mahwit
+ '11' => 'DH', // Dhamar
+ '14' => 'MA', // Ma'rib
+ '15' => 'SD', // Sa'dah
+ '16' => 'SN', // San'a'
+ '18' => 'DA', // Ad Dali
+ '19' => 'AM', // Amran
+ '20' => 'BA', // Al Bayda'
+ '21' => 'JA', // Al Jawf
+ '22' => 'HJ', // Hajjah
+ '23' => 'IB', // Ibb
+ '24' => 'LA', // Lahij
+ '25' => 'TA', // Taizz
+
+ // invalid codes [used by maxmind]
+ '06' => 'LA', // Lahij
+ '07' => 'BA', // Al Bayda'
+ '09' => 'JA', // Al Jawf
+ '12' => 'HJ', // Hajjah
+ '13' => 'IB', // Ibb
+ '17' => 'TA', // Taizz
+ ],
+ 'ZA' => [
+ '02' => 'NL',
+ '03' => 'FS',
+ '05' => 'EC',
+ '06' => 'GT',
+ '07' => 'MP',
+ '08' => 'NC',
+ '09' => 'LP',
+ '10' => 'NW',
+ '11' => 'WC',
+
+ // invalid codes [used by maxmind]
+ '01' => 'NW', // North-Western Province
+ ],
+ 'ZM' => [
+ '01' => '01',
+ '02' => '02',
+ '03' => '03',
+ '04' => '04',
+ '05' => '05',
+ '06' => '06',
+ '07' => '07',
+ '08' => '08',
+ '09' => '09',
+ ],
+ 'ZW' => [
+ '01' => 'MA',
+ '02' => 'MI',
+ '03' => 'MC',
+ '04' => 'ME',
+ '05' => 'MW',
+ '06' => 'MN',
+ '07' => 'MS',
+ '08' => 'MV',
+ '09' => 'BU',
+ '10' => 'HA',
+ ],
+]; \ No newline at end of file