/*
 * Copyright 2010 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Localized names for the "sl" locale.
 */
public class LocalizedNamesImpl_sl extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AF",
        "AX",
        "AL",
        "DZ",
        "AS",
        "VI",
        "AD",
        "AO",
        "AI",
        "AQ",
        "AG",
        "AR",
        "AM",
        "AW",
        "AU",
        "AT",
        "AZ",
        "BS",
        "BH",
        "BD",
        "BB",
        "BE",
        "BZ",
        "BY",
        "BJ",
        "BM",
        "BW",
        "BG",
        "BO",
        "BA",
        "BV",
        "CX",
        "BR",
        "VG",
        "IO",
        "BN",
        "BF",
        "BI",
        "BT",
        "CF",
        "EA",
        "CY",
        "CK",
        "TD",
        "CZ",
        "CL",
        "ME",
        "DK",
        "CD",
        "DG",
        "DM",
        "DO",
        "UM",
        "DJ",
        "EG",
        "EC",
        "GQ",
        "ER",
        "EE",
        "ET",
        "EU",
        "FK",
        "FO",
        "FJ",
        "PH",
        "FI",
        "FR",
        "FX",
        "GF",
        "PF",
        "TF",
        "GA",
        "GM",
        "GH",
        "GI",
        "GR",
        "GD",
        "GL",
        "GE",
        "GU",
        "GG",
        "GP",
        "GY",
        "GT",
        "GN",
        "GW",
        "HT",
        "HN",
        "HK",
        "HR",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IE",
        "IS",
        "IT",
        "IL",
        "JM",
        "JP",
        "YE",
        "JE",
        "JO",
        "GS",
        "KR",
        "ZA",
        "KY",
        "KH",
        "CM",
        "CA",
        "IC",
        "QA",
        "KZ",
        "KE",
        "KG",
        "KI",
        "CN",
        "CC",
        "CO",
        "KM",
        "CG",
        "CR",
        "CU",
        "KW",
        "LA",
        "LV",
        "LS",
        "LB",
        "LR",
        "LY",
        "LI",
        "LT",
        "LU",
        "MO",
        "MG",
        "HU",
        "MK",
        "MW",
        "MV",
        "MY",
        "ML",
        "MT",
        "MA",
        "MH",
        "MQ",
        "MU",
        "MR",
        "YT",
        "MX",
        "FM",
        "MM",
        "MD",
        "MC",
        "MN",
        "MS",
        "MZ",
        "NA",
        "NR",
        "DE",
        "NP",
        "NE",
        "NG",
        "NI",
        "NU",
        "NL",
        "AN",
        "NF",
        "NO",
        "NC",
        "NZ",
        "OM",
        "QO",
        "TC",
        "AC",
        "CP",
        "HM",
        "IM",
        "PK",
        "PW",
        "PS",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PL",
        "PR",
        "PT",
        "RE",
        "RO",
        "RW",
        "RU",
        "BL",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "SB",
        "SV",
        "WS",
        "SM",
        "ST",
        "SA",
        "SC",
        "SN",
        "KP",
        "MP",
        "SL",
        "SG",
        "SY",
        "CI",
        "SK",
        "SI",
        "SO",
        "RS",
        "CS",
        "SD",
        "SR",
        "SJ",
        "SZ",
        "SH",
        "ES",
        "LK",
        "SE",
        "CH",
        "TJ",
        "TH",
        "TW",
        "TZ",
        "TG",
        "TK",
        "TO",
        "TT",
        "TA",
        "TN",
        "TR",
        "TM",
        "TV",
        "UG",
        "UA",
        "UY",
        "UZ",
        "VU",
        "VA",
        "GB",
        "VE",
        "VN",
        "TL",
        "WF",
        "EH",
        "ZM",
        "US",
        "AE",
        "CV",
        "ZW",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Svet");
    namesMap.put("002", "Afrika");
    namesMap.put("003", "Severna Amerika");
    namesMap.put("005", "Južna Amerika");
    namesMap.put("009", "Oceanija");
    namesMap.put("011", "Zahodna Afrika");
    namesMap.put("013", "Srednja Amerika");
    namesMap.put("014", "Vzhodna Afrika");
    namesMap.put("015", "Severna Afrika");
    namesMap.put("017", "Srednja Afrika");
    namesMap.put("018", "Južna Afrika");
    namesMap.put("019", "Amerike");
    namesMap.put("021", "severnoameriška celina");
    namesMap.put("029", "Karibi");
    namesMap.put("030", "Vzhodna Azija");
    namesMap.put("034", "Južna Azija");
    namesMap.put("035", "Jugovzhodna Azija");
    namesMap.put("039", "Južna Evropa");
    namesMap.put("053", "Avstralija in Nova Zelandija");
    namesMap.put("054", "Melanezija");
    namesMap.put("057", "mikronezijska regija");
    namesMap.put("061", "Polinezija");
    namesMap.put("062", "Južna osrednja Azija");
    namesMap.put("142", "Azija");
    namesMap.put("143", "Osrednja Azija");
    namesMap.put("145", "Zahodna Azija");
    namesMap.put("150", "Evropa");
    namesMap.put("151", "Vzhodna Evropa");
    namesMap.put("154", "Severna Evropa");
    namesMap.put("155", "Zahodna Evropa");
    namesMap.put("172", "Skupnost neodvisnih držav");
    namesMap.put("419", "Latinska Amerika in Karibi");
    namesMap.put("830", "Kanalski otoki");
    namesMap.put("AC", "Otok Ascension");
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Združeni arabski emirati");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigva in Barbuda");
    namesMap.put("AI", "Angvila");
    namesMap.put("AL", "Albanija");
    namesMap.put("AM", "Armenija");
    namesMap.put("AN", "Nizozemski Antili");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AS", "Ameriška Samoa");
    namesMap.put("AT", "Avstrija");
    namesMap.put("AU", "Avstralija");
    namesMap.put("AX", "Alandsko otočje");
    namesMap.put("AZ", "Azerbajdžan");
    namesMap.put("BA", "Bosna in Hercegovina");
    namesMap.put("BD", "Bangladeš");
    namesMap.put("BE", "Belgija");
    namesMap.put("BG", "Bolgarija");
    namesMap.put("BH", "Bahrajn");
    namesMap.put("BL", "Saint Barthelemy");
    namesMap.put("BM", "Bermudi");
    namesMap.put("BN", "Brunej");
    namesMap.put("BO", "Bolivija");
    namesMap.put("BR", "Brazilija");
    namesMap.put("BS", "Bahami");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Bouvetov otok");
    namesMap.put("BW", "Bocvana");
    namesMap.put("BY", "Belorusija");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kokosovi otoki");
    namesMap.put("CD", "Demokratična republika Kongo");
    namesMap.put("CF", "Centralnoafriška republika");
    namesMap.put("CG", "Kongo - Brazzaville");
    namesMap.put("CH", "Švica");
    namesMap.put("CI", "Slonokoščena obala");
    namesMap.put("CK", "Cookovo otočje");
    namesMap.put("CL", "Čile");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Kitajska");
    namesMap.put("CO", "Kolumbija");
    namesMap.put("CP", "Otok Clipperton");
    namesMap.put("CR", "Kostarika");
    namesMap.put("CS", "Srbija in Črna gora");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Zelenortski otoki");
    namesMap.put("CX", "Božični otok");
    namesMap.put("CY", "Ciper");
    namesMap.put("CZ", "Češka");
    namesMap.put("DE", "Nemčija");
    namesMap.put("DJ", "Džibuti");
    namesMap.put("DK", "Danska");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikanska republika");
    namesMap.put("DZ", "Alžirija");
    namesMap.put("EA", "Ceuta in Melilla");
    namesMap.put("EC", "Ekvador");
    namesMap.put("EE", "Estonija");
    namesMap.put("EG", "Egipt");
    namesMap.put("EH", "Zahodna Sahara");
    namesMap.put("ER", "Eritreja");
    namesMap.put("ES", "Španija");
    namesMap.put("ET", "Etiopija");
    namesMap.put("EU", "Evropska unija");
    namesMap.put("FI", "Finska");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Falklandski otoki");
    namesMap.put("FM", "Mikronezija");
    namesMap.put("FO", "Ferski otoki");
    namesMap.put("FR", "Francija");
    namesMap.put("FX", "Francija (metropolitanska)");
    namesMap.put("GB", "Velika Britanija");
    namesMap.put("GE", "Gruzija");
    namesMap.put("GF", "Francoska Gvajana");
    namesMap.put("GH", "Gana");
    namesMap.put("GL", "Grenlandija");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gvineja");
    namesMap.put("GP", "Gvadalupe");
    namesMap.put("GQ", "Ekvatorialna Gvineja");
    namesMap.put("GR", "Grčija");
    namesMap.put("GS", "Južna Georgia in Južni Sandwichevi otoki");
    namesMap.put("GT", "Gvatemala");
    namesMap.put("GW", "Gvineja Bissau");
    namesMap.put("GY", "Gvajana");
    namesMap.put("HK", "Hongkong");
    namesMap.put("HM", "Otok Heard in otočje McDonald");
    namesMap.put("HR", "Hrvaška");
    namesMap.put("HU", "Madžarska");
    namesMap.put("IC", "Kanarski otoki");
    namesMap.put("ID", "Indonezija");
    namesMap.put("IE", "Irska");
    namesMap.put("IL", "Izrael");
    namesMap.put("IM", "Otok Man");
    namesMap.put("IN", "Indija");
    namesMap.put("IO", "Britansko ozemlje v Indijskem oceanu");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandija");
    namesMap.put("IT", "Italija");
    namesMap.put("JM", "Jamajka");
    namesMap.put("JO", "Jordanija");
    namesMap.put("JP", "Japonska");
    namesMap.put("KE", "Kenija");
    namesMap.put("KG", "Kirgizistan");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komori");
    namesMap.put("KN", "Saint Kitts in Nevis");
    namesMap.put("KP", "Severna Koreja");
    namesMap.put("KR", "Južna Koreja");
    namesMap.put("KW", "Kuvajt");
    namesMap.put("KY", "Kajmanski otoki");
    namesMap.put("KZ", "Kazahstan");
    namesMap.put("LB", "Libanon");
    namesMap.put("LI", "Lihtenštajn");
    namesMap.put("LK", "Šrilanka");
    namesMap.put("LR", "Liberija");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Litva");
    namesMap.put("LU", "Luksemburg");
    namesMap.put("LV", "Latvija");
    namesMap.put("LY", "Libija");
    namesMap.put("MA", "Maroko");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldavija");
    namesMap.put("ME", "Črna gora");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshallovi otoki");
    namesMap.put("MK", "Makedonija");
    namesMap.put("MM", "Mjanmar [Burma]");
    namesMap.put("MN", "Mongolija");
    namesMap.put("MO", "Macao");
    namesMap.put("MP", "Severni Marianski otoki");
    namesMap.put("MQ", "Martinik");
    namesMap.put("MR", "Mavretanija");
    namesMap.put("MV", "Maldivi");
    namesMap.put("MW", "Malavi");
    namesMap.put("MX", "Mehika");
    namesMap.put("MY", "Malezija");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namibija");
    namesMap.put("NC", "Nova Kaledonija");
    namesMap.put("NF", "Norfolški otok");
    namesMap.put("NG", "Nigerija");
    namesMap.put("NI", "Nikaragva");
    namesMap.put("NL", "Nizozemska");
    namesMap.put("NO", "Norveška");
    namesMap.put("NZ", "Nova Zelandija");
    namesMap.put("PF", "Francoska Polinezija");
    namesMap.put("PG", "Papua Nova Gvineja");
    namesMap.put("PH", "Filipini");
    namesMap.put("PL", "Poljska");
    namesMap.put("PM", "Saint Pierre in Miquelon");
    namesMap.put("PN", "Pitcairn");
    namesMap.put("PR", "Portoriko");
    namesMap.put("PS", "Palestinsko ozemlje");
    namesMap.put("PT", "Portugalska");
    namesMap.put("PY", "Paragvaj");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Ostala oceanija");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Romunija");
    namesMap.put("RS", "Srbija");
    namesMap.put("RU", "Rusija");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saudova Arabija");
    namesMap.put("SB", "Salomonovi otoki");
    namesMap.put("SC", "Sejšeli");
    namesMap.put("SE", "Švedska");
    namesMap.put("SG", "Singapur");
    namesMap.put("SH", "Sveta Helena");
    namesMap.put("SI", "Slovenija");
    namesMap.put("SJ", "Svalbard in Jan Mayen");
    namesMap.put("SK", "Slovaška");
    namesMap.put("SO", "Somalija");
    namesMap.put("SR", "Surinam");
    namesMap.put("ST", "Sao Tome in Principe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SY", "Sirija");
    namesMap.put("SZ", "Svazi");
    namesMap.put("TC", "Otočji Turks in Caicos");
    namesMap.put("TD", "Čad");
    namesMap.put("TF", "Francosko južno ozemlje");
    namesMap.put("TH", "Tajska");
    namesMap.put("TJ", "Tadžikistan");
    namesMap.put("TL", "Vzhodni Timor");
    namesMap.put("TN", "Tunizija");
    namesMap.put("TR", "Turčija");
    namesMap.put("TT", "Trinidad in Tobago");
    namesMap.put("TW", "Tajvan");
    namesMap.put("TZ", "Tanzanija");
    namesMap.put("UA", "Ukrajina");
    namesMap.put("UM", "Druga ameriška ozemlja v Tihem oceanu");
    namesMap.put("US", "Združene države Amerike");
    namesMap.put("UY", "Urugvaj");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Saint Vincent in Grenadine");
    namesMap.put("VG", "Britanski Deviški otoki");
    namesMap.put("VI", "Ameriški Deviški otoki");
    namesMap.put("WF", "Wallis in Futuna");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Južnoafriška republika");
    namesMap.put("ZM", "Zambija");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "Neznano ali neveljavno območje");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Svet",
        "002": "Afrika",
        "003": "Severna Amerika",
        "005": "Južna Amerika",
        "009": "Oceanija",
        "011": "Zahodna Afrika",
        "013": "Srednja Amerika",
        "014": "Vzhodna Afrika",
        "015": "Severna Afrika",
        "017": "Srednja Afrika",
        "018": "Južna Afrika",
        "019": "Amerike",
        "021": "severnoameriška celina",
        "029": "Karibi",
        "030": "Vzhodna Azija",
        "034": "Južna Azija",
        "035": "Jugovzhodna Azija",
        "039": "Južna Evropa",
        "053": "Avstralija in Nova Zelandija",
        "054": "Melanezija",
        "057": "mikronezijska regija",
        "061": "Polinezija",
        "062": "Južna osrednja Azija",
        "142": "Azija",
        "143": "Osrednja Azija",
        "145": "Zahodna Azija",
        "150": "Evropa",
        "151": "Vzhodna Evropa",
        "154": "Severna Evropa",
        "155": "Zahodna Evropa",
        "172": "Skupnost neodvisnih držav",
        "419": "Latinska Amerika in Karibi",
        "830": "Kanalski otoki",
        "AC": "Otok Ascension",
        "AD": "Andora",
        "AE": "Združeni arabski emirati",
        "AF": "Afganistan",
        "AG": "Antigva in Barbuda",
        "AI": "Angvila",
        "AL": "Albanija",
        "AM": "Armenija",
        "AN": "Nizozemski Antili",
        "AQ": "Antarktika",
        "AS": "Ameriška Samoa",
        "AT": "Avstrija",
        "AU": "Avstralija",
        "AX": "Alandsko otočje",
        "AZ": "Azerbajdžan",
        "BA": "Bosna in Hercegovina",
        "BD": "Bangladeš",
        "BE": "Belgija",
        "BG": "Bolgarija",
        "BH": "Bahrajn",
        "BL": "Saint Barthelemy",
        "BM": "Bermudi",
        "BN": "Brunej",
        "BO": "Bolivija",
        "BR": "Brazilija",
        "BS": "Bahami",
        "BT": "Butan",
        "BV": "Bouvetov otok",
        "BW": "Bocvana",
        "BY": "Belorusija",
        "CA": "Kanada",
        "CC": "Kokosovi otoki",
        "CD": "Demokratična republika Kongo",
        "CF": "Centralnoafriška republika",
        "CG": "Kongo - Brazzaville",
        "CH": "Švica",
        "CI": "Slonokoščena obala",
        "CK": "Cookovo otočje",
        "CL": "Čile",
        "CM": "Kamerun",
        "CN": "Kitajska",
        "CO": "Kolumbija",
        "CP": "Otok Clipperton",
        "CR": "Kostarika",
        "CS": "Srbija in Črna gora",
        "CU": "Kuba",
        "CV": "Zelenortski otoki",
        "CX": "Božični otok",
        "CY": "Ciper",
        "CZ": "Češka",
        "DE": "Nemčija",
        "DJ": "Džibuti",
        "DK": "Danska",
        "DM": "Dominika",
        "DO": "Dominikanska republika",
        "DZ": "Alžirija",
        "EA": "Ceuta in Melilla",
        "EC": "Ekvador",
        "EE": "Estonija",
        "EG": "Egipt",
        "EH": "Zahodna Sahara",
        "ER": "Eritreja",
        "ES": "Španija",
        "ET": "Etiopija",
        "EU": "Evropska unija",
        "FI": "Finska",
        "FJ": "Fidži",
        "FK": "Falklandski otoki",
        "FM": "Mikronezija",
        "FO": "Ferski otoki",
        "FR": "Francija",
        "FX": "Francija (metropolitanska)",
        "GB": "Velika Britanija",
        "GE": "Gruzija",
        "GF": "Francoska Gvajana",
        "GH": "Gana",
        "GL": "Grenlandija",
        "GM": "Gambija",
        "GN": "Gvineja",
        "GP": "Gvadalupe",
        "GQ": "Ekvatorialna Gvineja",
        "GR": "Grčija",
        "GS": "Južna Georgia in Južni Sandwichevi otoki",
        "GT": "Gvatemala",
        "GW": "Gvineja Bissau",
        "GY": "Gvajana",
        "HK": "Hongkong",
        "HM": "Otok Heard in otočje McDonald",
        "HR": "Hrvaška",
        "HU": "Madžarska",
        "IC": "Kanarski otoki",
        "ID": "Indonezija",
        "IE": "Irska",
        "IL": "Izrael",
        "IM": "Otok Man",
        "IN": "Indija",
        "IO": "Britansko ozemlje v Indijskem oceanu",
        "IQ": "Irak",
        "IS": "Islandija",
        "IT": "Italija",
        "JM": "Jamajka",
        "JO": "Jordanija",
        "JP": "Japonska",
        "KE": "Kenija",
        "KG": "Kirgizistan",
        "KH": "Kambodža",
        "KM": "Komori",
        "KN": "Saint Kitts in Nevis",
        "KP": "Severna Koreja",
        "KR": "Južna Koreja",
        "KW": "Kuvajt",
        "KY": "Kajmanski otoki",
        "KZ": "Kazahstan",
        "LB": "Libanon",
        "LI": "Lihtenštajn",
        "LK": "Šrilanka",
        "LR": "Liberija",
        "LS": "Lesoto",
        "LT": "Litva",
        "LU": "Luksemburg",
        "LV": "Latvija",
        "LY": "Libija",
        "MA": "Maroko",
        "MC": "Monako",
        "MD": "Moldavija",
        "ME": "Črna gora",
        "MG": "Madagaskar",
        "MH": "Marshallovi otoki",
        "MK": "Makedonija",
        "MM": "Mjanmar [Burma]",
        "MN": "Mongolija",
        "MO": "Macao",
        "MP": "Severni Marianski otoki",
        "MQ": "Martinik",
        "MR": "Mavretanija",
        "MV": "Maldivi",
        "MW": "Malavi",
        "MX": "Mehika",
        "MY": "Malezija",
        "MZ": "Mozambik",
        "NA": "Namibija",
        "NC": "Nova Kaledonija",
        "NF": "Norfolški otok",
        "NG": "Nigerija",
        "NI": "Nikaragva",
        "NL": "Nizozemska",
        "NO": "Norveška",
        "NZ": "Nova Zelandija",
        "PF": "Francoska Polinezija",
        "PG": "Papua Nova Gvineja",
        "PH": "Filipini",
        "PL": "Poljska",
        "PM": "Saint Pierre in Miquelon",
        "PN": "Pitcairn",
        "PR": "Portoriko",
        "PS": "Palestinsko ozemlje",
        "PT": "Portugalska",
        "PY": "Paragvaj",
        "QA": "Katar",
        "QO": "Ostala oceanija",
        "RE": "Reunion",
        "RO": "Romunija",
        "RS": "Srbija",
        "RU": "Rusija",
        "RW": "Ruanda",
        "SA": "Saudova Arabija",
        "SB": "Salomonovi otoki",
        "SC": "Sejšeli",
        "SE": "Švedska",
        "SG": "Singapur",
        "SH": "Sveta Helena",
        "SI": "Slovenija",
        "SJ": "Svalbard in Jan Mayen",
        "SK": "Slovaška",
        "SO": "Somalija",
        "SR": "Surinam",
        "ST": "Sao Tome in Principe",
        "SV": "Salvador",
        "SY": "Sirija",
        "SZ": "Svazi",
        "TC": "Otočji Turks in Caicos",
        "TD": "Čad",
        "TF": "Francosko južno ozemlje",
        "TH": "Tajska",
        "TJ": "Tadžikistan",
        "TL": "Vzhodni Timor",
        "TN": "Tunizija",
        "TR": "Turčija",
        "TT": "Trinidad in Tobago",
        "TW": "Tajvan",
        "TZ": "Tanzanija",
        "UA": "Ukrajina",
        "UM": "Druga ameriška ozemlja v Tihem oceanu",
        "US": "Združene države Amerike",
        "UY": "Urugvaj",
        "VA": "Vatikan",
        "VC": "Saint Vincent in Grenadine",
        "VG": "Britanski Deviški otoki",
        "VI": "Ameriški Deviški otoki",
        "WF": "Wallis in Futuna",
        "YE": "Jemen",
        "ZA": "Južnoafriška republika",
        "ZM": "Zambija",
        "ZW": "Zimbabve",
        "ZZ": "Neznano ali neveljavno območje"
    };
  }-*/;
}
