/*
 * Copyright 2012 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 "lv" locale.
 */
public class LocalizedNamesImpl_lv extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "pasaule");
    namesMap.put("002", "Āfrika");
    namesMap.put("003", "Ziemeļamerika");
    namesMap.put("005", "Dienvidamerika");
    namesMap.put("009", "Okeānija");
    namesMap.put("011", "Rietumāfrika");
    namesMap.put("013", "Centrālamerika");
    namesMap.put("014", "Austrumāfrika");
    namesMap.put("015", "Ziemeļāfrika");
    namesMap.put("017", "Vidusāfrika");
    namesMap.put("018", "Dienvidāfrika");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Amerikas ziemeļu daļa");
    namesMap.put("029", "Karību jūras reģions");
    namesMap.put("030", "Austrumāzija");
    namesMap.put("034", "Dienvidāzija");
    namesMap.put("035", "Centrālaustrumāzija");
    namesMap.put("039", "Dienvideiropa");
    namesMap.put("053", "Austrālāzija");
    namesMap.put("054", "Melanēzija");
    namesMap.put("057", "Mikronēzijas reģions");
    namesMap.put("061", "Polinēzija");
    namesMap.put("142", "Āzija");
    namesMap.put("143", "Centrālāzija");
    namesMap.put("145", "Rietumāzija");
    namesMap.put("150", "Eiropa");
    namesMap.put("151", "Austrumeiropa");
    namesMap.put("154", "Ziemeļeiropa");
    namesMap.put("155", "Rietumeiropa");
    namesMap.put("419", "Latīņamerika");
    namesMap.put("AC", "Debesbraukšanas sala");
    namesMap.put("AD", "Andora");
    namesMap.put("AE", "Apvienotie Arābu Emirāti");
    namesMap.put("AF", "Afganistāna");
    namesMap.put("AG", "Antigva un Barbuda");
    namesMap.put("AI", "Angilja");
    namesMap.put("AL", "Albānija");
    namesMap.put("AM", "Armēnija");
    namesMap.put("AQ", "Antarktika");
    namesMap.put("AR", "Argentīna");
    namesMap.put("AS", "ASV Samoa");
    namesMap.put("AT", "Austrija");
    namesMap.put("AU", "Austrālija");
    namesMap.put("AX", "Olandes salas");
    namesMap.put("AZ", "Azerbaidžāna");
    namesMap.put("BA", "Bosnija un Hercegovina");
    namesMap.put("BB", "Barbadosa");
    namesMap.put("BD", "Bangladeša");
    namesMap.put("BE", "Beļģija");
    namesMap.put("BF", "Burkinafaso");
    namesMap.put("BG", "Bulgārija");
    namesMap.put("BH", "Bahreina");
    namesMap.put("BI", "Burundija");
    namesMap.put("BJ", "Benina");
    namesMap.put("BL", "Senbartelmī");
    namesMap.put("BM", "Bermudu salas");
    namesMap.put("BN", "Bruneja");
    namesMap.put("BO", "Bolīvija");
    namesMap.put("BQ", "Nīderlandes Karību salas");
    namesMap.put("BR", "Brazīlija");
    namesMap.put("BS", "Bahamu salas");
    namesMap.put("BT", "Butāna");
    namesMap.put("BV", "Buvē sala");
    namesMap.put("BW", "Botsvāna");
    namesMap.put("BY", "Baltkrievija");
    namesMap.put("BZ", "Beliza");
    namesMap.put("CA", "Kanāda");
    namesMap.put("CC", "Kokosu (Kīlinga) salas");
    namesMap.put("CD", "Kongo (Kinšasa)");
    namesMap.put("CF", "Centrālāfrikas Republika");
    namesMap.put("CG", "Kongo (Brazavila)");
    namesMap.put("CH", "Šveice");
    namesMap.put("CI", "Kotdivuāra");
    namesMap.put("CK", "Kuka salas");
    namesMap.put("CL", "Čīle");
    namesMap.put("CM", "Kamerūna");
    namesMap.put("CN", "Ķīna");
    namesMap.put("CO", "Kolumbija");
    namesMap.put("CP", "Klipertona sala");
    namesMap.put("CR", "Kostarika");
    namesMap.put("CU", "Kuba");
    namesMap.put("CV", "Kaboverde");
    namesMap.put("CW", "Kirasao");
    namesMap.put("CX", "Ziemsvētku sala");
    namesMap.put("CY", "Kipra");
    namesMap.put("CZ", "Čehija");
    namesMap.put("DE", "Vācija");
    namesMap.put("DG", "Djego Garsijas atols");
    namesMap.put("DJ", "Džibutija");
    namesMap.put("DK", "Dānija");
    namesMap.put("DM", "Dominika");
    namesMap.put("DO", "Dominikāna");
    namesMap.put("DZ", "Alžīrija");
    namesMap.put("EA", "Seūta un Melilja");
    namesMap.put("EC", "Ekvadora");
    namesMap.put("EE", "Igaunija");
    namesMap.put("EG", "Ēģipte");
    namesMap.put("EH", "Rietumsahāra");
    namesMap.put("ER", "Eritreja");
    namesMap.put("ES", "Spānija");
    namesMap.put("ET", "Etiopija");
    namesMap.put("EU", "Eiropas Savienība");
    namesMap.put("EZ", "Eirozona");
    namesMap.put("FI", "Somija");
    namesMap.put("FJ", "Fidži");
    namesMap.put("FK", "Folklenda salas");
    namesMap.put("FM", "Mikronēzija");
    namesMap.put("FO", "Fēru salas");
    namesMap.put("FR", "Francija");
    namesMap.put("GA", "Gabona");
    namesMap.put("GB", "Lielbritānija");
    namesMap.put("GD", "Grenāda");
    namesMap.put("GE", "Gruzija");
    namesMap.put("GF", "Francijas Gviāna");
    namesMap.put("GG", "Gērnsija");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Gibraltārs");
    namesMap.put("GL", "Grenlande");
    namesMap.put("GM", "Gambija");
    namesMap.put("GN", "Gvineja");
    namesMap.put("GP", "Gvadelupa");
    namesMap.put("GQ", "Ekvatoriālā Gvineja");
    namesMap.put("GR", "Grieķija");
    namesMap.put("GS", "Dienviddžordžija un Dienvidsendviču salas");
    namesMap.put("GT", "Gvatemala");
    namesMap.put("GU", "Guama");
    namesMap.put("GW", "Gvineja-Bisava");
    namesMap.put("GY", "Gajāna");
    namesMap.put("HK", "Ķīnas īpašās pārvaldes apgabals Honkonga");
    namesMap.put("HM", "Hērda sala un Makdonalda salas");
    namesMap.put("HN", "Hondurasa");
    namesMap.put("HR", "Horvātija");
    namesMap.put("HU", "Ungārija");
    namesMap.put("IC", "Kanāriju salas");
    namesMap.put("ID", "Indonēzija");
    namesMap.put("IE", "Īrija");
    namesMap.put("IL", "Izraēla");
    namesMap.put("IM", "Mena");
    namesMap.put("IN", "Indija");
    namesMap.put("IO", "Indijas okeāna Britu teritorija");
    namesMap.put("IQ", "Irāka");
    namesMap.put("IR", "Irāna");
    namesMap.put("IS", "Islande");
    namesMap.put("IT", "Itālija");
    namesMap.put("JE", "Džērsija");
    namesMap.put("JM", "Jamaika");
    namesMap.put("JO", "Jordānija");
    namesMap.put("JP", "Japāna");
    namesMap.put("KE", "Kenija");
    namesMap.put("KG", "Kirgizstāna");
    namesMap.put("KH", "Kambodža");
    namesMap.put("KM", "Komoru salas");
    namesMap.put("KN", "Sentkitsa un Nevisa");
    namesMap.put("KP", "Ziemeļkoreja");
    namesMap.put("KR", "Dienvidkoreja");
    namesMap.put("KW", "Kuveita");
    namesMap.put("KY", "Kaimanu salas");
    namesMap.put("KZ", "Kazahstāna");
    namesMap.put("LA", "Laosa");
    namesMap.put("LB", "Libāna");
    namesMap.put("LC", "Sentlūsija");
    namesMap.put("LI", "Lihtenšteina");
    namesMap.put("LK", "Šrilanka");
    namesMap.put("LR", "Libērija");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Lietuva");
    namesMap.put("LU", "Luksemburga");
    namesMap.put("LV", "Latvija");
    namesMap.put("LY", "Lībija");
    namesMap.put("MA", "Maroka");
    namesMap.put("MC", "Monako");
    namesMap.put("ME", "Melnkalne");
    namesMap.put("MF", "Senmartēna");
    namesMap.put("MG", "Madagaskara");
    namesMap.put("MH", "Māršala salas");
    namesMap.put("MK", "Maķedonija");
    namesMap.put("MM", "Mjanma (Birma)");
    namesMap.put("MN", "Mongolija");
    namesMap.put("MO", "Ķīnas īpašās pārvaldes apgabals Makao");
    namesMap.put("MP", "Ziemeļu Marianas salas");
    namesMap.put("MQ", "Martinika");
    namesMap.put("MR", "Mauritānija");
    namesMap.put("MS", "Montserrata");
    namesMap.put("MU", "Maurīcija");
    namesMap.put("MV", "Maldīvija");
    namesMap.put("MW", "Malāvija");
    namesMap.put("MX", "Meksika");
    namesMap.put("MY", "Malaizija");
    namesMap.put("MZ", "Mozambika");
    namesMap.put("NA", "Namībija");
    namesMap.put("NC", "Jaunkaledonija");
    namesMap.put("NE", "Nigēra");
    namesMap.put("NF", "Norfolkas sala");
    namesMap.put("NG", "Nigērija");
    namesMap.put("NI", "Nikaragva");
    namesMap.put("NL", "Nīderlande");
    namesMap.put("NO", "Norvēģija");
    namesMap.put("NP", "Nepāla");
    namesMap.put("NZ", "Jaunzēlande");
    namesMap.put("OM", "Omāna");
    namesMap.put("PF", "Francijas Polinēzija");
    namesMap.put("PG", "Papua-Jaungvineja");
    namesMap.put("PH", "Filipīnas");
    namesMap.put("PK", "Pakistāna");
    namesMap.put("PL", "Polija");
    namesMap.put("PM", "Senpjēra un Mikelona");
    namesMap.put("PN", "Pitkērnas salas");
    namesMap.put("PR", "Puertoriko");
    namesMap.put("PS", "Palestīna");
    namesMap.put("PT", "Portugāle");
    namesMap.put("PY", "Paragvaja");
    namesMap.put("QA", "Katara");
    namesMap.put("QO", "Okeānijas attālās salas");
    namesMap.put("RE", "Reinjona");
    namesMap.put("RO", "Rumānija");
    namesMap.put("RS", "Serbija");
    namesMap.put("RU", "Krievija");
    namesMap.put("RW", "Ruanda");
    namesMap.put("SA", "Saūda Arābija");
    namesMap.put("SB", "Zālamana salas");
    namesMap.put("SC", "Seišelu salas");
    namesMap.put("SD", "Sudāna");
    namesMap.put("SE", "Zviedrija");
    namesMap.put("SG", "Singapūra");
    namesMap.put("SH", "Sv.Helēnas sala");
    namesMap.put("SI", "Slovēnija");
    namesMap.put("SJ", "Svalbāra un Jana Majena sala");
    namesMap.put("SK", "Slovākija");
    namesMap.put("SL", "Sjerraleone");
    namesMap.put("SM", "Sanmarīno");
    namesMap.put("SN", "Senegāla");
    namesMap.put("SO", "Somālija");
    namesMap.put("SR", "Surinama");
    namesMap.put("SS", "Dienvidsudāna");
    namesMap.put("ST", "Santome un Prinsipi");
    namesMap.put("SV", "Salvadora");
    namesMap.put("SX", "Sintmārtena");
    namesMap.put("SY", "Sīrija");
    namesMap.put("SZ", "Svazilenda");
    namesMap.put("TA", "Tristana da Kuņas salas");
    namesMap.put("TC", "Tērksas un Kaikosas salas");
    namesMap.put("TD", "Čada");
    namesMap.put("TF", "Francijas Dienvidjūru teritorija");
    namesMap.put("TH", "Taizeme");
    namesMap.put("TJ", "Tadžikistāna");
    namesMap.put("TL", "Austrumtimora");
    namesMap.put("TM", "Turkmenistāna");
    namesMap.put("TN", "Tunisija");
    namesMap.put("TR", "Turcija");
    namesMap.put("TT", "Trinidāda un Tobāgo");
    namesMap.put("TW", "Taivāna");
    namesMap.put("TZ", "Tanzānija");
    namesMap.put("UA", "Ukraina");
    namesMap.put("UM", "ASV Mazās Aizjūras salas");
    namesMap.put("UN", "Apvienoto Nāciju Organizācija");
    namesMap.put("US", "Amerikas Savienotās Valstis");
    namesMap.put("UY", "Urugvaja");
    namesMap.put("UZ", "Uzbekistāna");
    namesMap.put("VA", "Vatikāns");
    namesMap.put("VC", "Sentvinsenta un Grenadīnas");
    namesMap.put("VE", "Venecuēla");
    namesMap.put("VG", "Britu Virdžīnas");
    namesMap.put("VI", "ASV Virdžīnas");
    namesMap.put("VN", "Vjetnama");
    namesMap.put("WF", "Volisa un Futunas salas");
    namesMap.put("XK", "Kosova");
    namesMap.put("YE", "Jemena");
    namesMap.put("YT", "Majota");
    namesMap.put("ZA", "Dienvidāfrikas Republika");
    namesMap.put("ZM", "Zambija");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "nezināms reģions");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "pasaule",
        "002": "Āfrika",
        "003": "Ziemeļamerika",
        "005": "Dienvidamerika",
        "009": "Okeānija",
        "011": "Rietumāfrika",
        "013": "Centrālamerika",
        "014": "Austrumāfrika",
        "015": "Ziemeļāfrika",
        "017": "Vidusāfrika",
        "018": "Dienvidāfrika",
        "019": "Amerika",
        "021": "Amerikas ziemeļu daļa",
        "029": "Karību jūras reģions",
        "030": "Austrumāzija",
        "034": "Dienvidāzija",
        "035": "Centrālaustrumāzija",
        "039": "Dienvideiropa",
        "053": "Austrālāzija",
        "054": "Melanēzija",
        "057": "Mikronēzijas reģions",
        "061": "Polinēzija",
        "142": "Āzija",
        "143": "Centrālāzija",
        "145": "Rietumāzija",
        "150": "Eiropa",
        "151": "Austrumeiropa",
        "154": "Ziemeļeiropa",
        "155": "Rietumeiropa",
        "419": "Latīņamerika",
        "AC": "Debesbraukšanas sala",
        "AD": "Andora",
        "AE": "Apvienotie Arābu Emirāti",
        "AF": "Afganistāna",
        "AG": "Antigva un Barbuda",
        "AI": "Angilja",
        "AL": "Albānija",
        "AM": "Armēnija",
        "AQ": "Antarktika",
        "AR": "Argentīna",
        "AS": "ASV Samoa",
        "AT": "Austrija",
        "AU": "Austrālija",
        "AX": "Olandes salas",
        "AZ": "Azerbaidžāna",
        "BA": "Bosnija un Hercegovina",
        "BB": "Barbadosa",
        "BD": "Bangladeša",
        "BE": "Beļģija",
        "BF": "Burkinafaso",
        "BG": "Bulgārija",
        "BH": "Bahreina",
        "BI": "Burundija",
        "BJ": "Benina",
        "BL": "Senbartelmī",
        "BM": "Bermudu salas",
        "BN": "Bruneja",
        "BO": "Bolīvija",
        "BQ": "Nīderlandes Karību salas",
        "BR": "Brazīlija",
        "BS": "Bahamu salas",
        "BT": "Butāna",
        "BV": "Buvē sala",
        "BW": "Botsvāna",
        "BY": "Baltkrievija",
        "BZ": "Beliza",
        "CA": "Kanāda",
        "CC": "Kokosu (Kīlinga) salas",
        "CD": "Kongo (Kinšasa)",
        "CF": "Centrālāfrikas Republika",
        "CG": "Kongo (Brazavila)",
        "CH": "Šveice",
        "CI": "Kotdivuāra",
        "CK": "Kuka salas",
        "CL": "Čīle",
        "CM": "Kamerūna",
        "CN": "Ķīna",
        "CO": "Kolumbija",
        "CP": "Klipertona sala",
        "CR": "Kostarika",
        "CU": "Kuba",
        "CV": "Kaboverde",
        "CW": "Kirasao",
        "CX": "Ziemsvētku sala",
        "CY": "Kipra",
        "CZ": "Čehija",
        "DE": "Vācija",
        "DG": "Djego Garsijas atols",
        "DJ": "Džibutija",
        "DK": "Dānija",
        "DM": "Dominika",
        "DO": "Dominikāna",
        "DZ": "Alžīrija",
        "EA": "Seūta un Melilja",
        "EC": "Ekvadora",
        "EE": "Igaunija",
        "EG": "Ēģipte",
        "EH": "Rietumsahāra",
        "ER": "Eritreja",
        "ES": "Spānija",
        "ET": "Etiopija",
        "EU": "Eiropas Savienība",
        "EZ": "Eirozona",
        "FI": "Somija",
        "FJ": "Fidži",
        "FK": "Folklenda salas",
        "FM": "Mikronēzija",
        "FO": "Fēru salas",
        "FR": "Francija",
        "GA": "Gabona",
        "GB": "Lielbritānija",
        "GD": "Grenāda",
        "GE": "Gruzija",
        "GF": "Francijas Gviāna",
        "GG": "Gērnsija",
        "GH": "Gana",
        "GI": "Gibraltārs",
        "GL": "Grenlande",
        "GM": "Gambija",
        "GN": "Gvineja",
        "GP": "Gvadelupa",
        "GQ": "Ekvatoriālā Gvineja",
        "GR": "Grieķija",
        "GS": "Dienviddžordžija un Dienvidsendviču salas",
        "GT": "Gvatemala",
        "GU": "Guama",
        "GW": "Gvineja-Bisava",
        "GY": "Gajāna",
        "HK": "Ķīnas īpašās pārvaldes apgabals Honkonga",
        "HM": "Hērda sala un Makdonalda salas",
        "HN": "Hondurasa",
        "HR": "Horvātija",
        "HU": "Ungārija",
        "IC": "Kanāriju salas",
        "ID": "Indonēzija",
        "IE": "Īrija",
        "IL": "Izraēla",
        "IM": "Mena",
        "IN": "Indija",
        "IO": "Indijas okeāna Britu teritorija",
        "IQ": "Irāka",
        "IR": "Irāna",
        "IS": "Islande",
        "IT": "Itālija",
        "JE": "Džērsija",
        "JM": "Jamaika",
        "JO": "Jordānija",
        "JP": "Japāna",
        "KE": "Kenija",
        "KG": "Kirgizstāna",
        "KH": "Kambodža",
        "KM": "Komoru salas",
        "KN": "Sentkitsa un Nevisa",
        "KP": "Ziemeļkoreja",
        "KR": "Dienvidkoreja",
        "KW": "Kuveita",
        "KY": "Kaimanu salas",
        "KZ": "Kazahstāna",
        "LA": "Laosa",
        "LB": "Libāna",
        "LC": "Sentlūsija",
        "LI": "Lihtenšteina",
        "LK": "Šrilanka",
        "LR": "Libērija",
        "LS": "Lesoto",
        "LT": "Lietuva",
        "LU": "Luksemburga",
        "LV": "Latvija",
        "LY": "Lībija",
        "MA": "Maroka",
        "MC": "Monako",
        "ME": "Melnkalne",
        "MF": "Senmartēna",
        "MG": "Madagaskara",
        "MH": "Māršala salas",
        "MK": "Maķedonija",
        "MM": "Mjanma (Birma)",
        "MN": "Mongolija",
        "MO": "Ķīnas īpašās pārvaldes apgabals Makao",
        "MP": "Ziemeļu Marianas salas",
        "MQ": "Martinika",
        "MR": "Mauritānija",
        "MS": "Montserrata",
        "MU": "Maurīcija",
        "MV": "Maldīvija",
        "MW": "Malāvija",
        "MX": "Meksika",
        "MY": "Malaizija",
        "MZ": "Mozambika",
        "NA": "Namībija",
        "NC": "Jaunkaledonija",
        "NE": "Nigēra",
        "NF": "Norfolkas sala",
        "NG": "Nigērija",
        "NI": "Nikaragva",
        "NL": "Nīderlande",
        "NO": "Norvēģija",
        "NP": "Nepāla",
        "NZ": "Jaunzēlande",
        "OM": "Omāna",
        "PF": "Francijas Polinēzija",
        "PG": "Papua-Jaungvineja",
        "PH": "Filipīnas",
        "PK": "Pakistāna",
        "PL": "Polija",
        "PM": "Senpjēra un Mikelona",
        "PN": "Pitkērnas salas",
        "PR": "Puertoriko",
        "PS": "Palestīna",
        "PT": "Portugāle",
        "PY": "Paragvaja",
        "QA": "Katara",
        "QO": "Okeānijas attālās salas",
        "RE": "Reinjona",
        "RO": "Rumānija",
        "RS": "Serbija",
        "RU": "Krievija",
        "RW": "Ruanda",
        "SA": "Saūda Arābija",
        "SB": "Zālamana salas",
        "SC": "Seišelu salas",
        "SD": "Sudāna",
        "SE": "Zviedrija",
        "SG": "Singapūra",
        "SH": "Sv.Helēnas sala",
        "SI": "Slovēnija",
        "SJ": "Svalbāra un Jana Majena sala",
        "SK": "Slovākija",
        "SL": "Sjerraleone",
        "SM": "Sanmarīno",
        "SN": "Senegāla",
        "SO": "Somālija",
        "SR": "Surinama",
        "SS": "Dienvidsudāna",
        "ST": "Santome un Prinsipi",
        "SV": "Salvadora",
        "SX": "Sintmārtena",
        "SY": "Sīrija",
        "SZ": "Svazilenda",
        "TA": "Tristana da Kuņas salas",
        "TC": "Tērksas un Kaikosas salas",
        "TD": "Čada",
        "TF": "Francijas Dienvidjūru teritorija",
        "TH": "Taizeme",
        "TJ": "Tadžikistāna",
        "TL": "Austrumtimora",
        "TM": "Turkmenistāna",
        "TN": "Tunisija",
        "TR": "Turcija",
        "TT": "Trinidāda un Tobāgo",
        "TW": "Taivāna",
        "TZ": "Tanzānija",
        "UA": "Ukraina",
        "UM": "ASV Mazās Aizjūras salas",
        "UN": "Apvienoto Nāciju Organizācija",
        "US": "Amerikas Savienotās Valstis",
        "UY": "Urugvaja",
        "UZ": "Uzbekistāna",
        "VA": "Vatikāns",
        "VC": "Sentvinsenta un Grenadīnas",
        "VE": "Venecuēla",
        "VG": "Britu Virdžīnas",
        "VI": "ASV Virdžīnas",
        "VN": "Vjetnama",
        "WF": "Volisa un Futunas salas",
        "XK": "Kosova",
        "YE": "Jemena",
        "YT": "Majota",
        "ZA": "Dienvidāfrikas Republika",
        "ZM": "Zambija",
        "ZW": "Zimbabve",
        "ZZ": "nezināms reģions"
    };
  }-*/;
}
