import re

class CountryDictionary():
    """ CountryDictionary class for searching through dictionaries of 
    mappings between DJII region codes and ISO Alpha 2 country codes to 
    convert the passed inputs into the appropriate format requested.
    
    Attributes:
        country_name_dict (dict) a dictionary with country names as keys
        djii_rc_dict (dict) a dictionary with DJII region codes as keys
        iso_alpha_2_dict (dict) a dictionary with ISO Alpha 2 codes as keys
    
    """
    def __init__(self):

        self.country_name_dict = {}
        self.djii_rc_dict = {}
        self.iso_alpha_2_dict = {}
    

    def get_country_name(self, query):
        """Function to search through class dictionaries to return the 
        country name that matches the search query.
        
        Args:
            query (str): search parameter (DJII RC or ISO Alpha 2)
        
        Returns:
            country_name (str): country returned from running search

        """

        try:
            if (re.match('^[A-Z]{2}$', query) and query != 'UK'):
                #Query is ISO Alpha 2 - 'UK' is a two character DJII RC
                return self.iso_alpha_2_dict.get(query)[0]

            else:
                #Query is DJII RC
                return self.djii_rc_dict.get(query)[0]

        except Exception as e:
            print(f'File parsing unsuccessful: {str(e)}')
    
    
    def get_djii_rc(self, query):
        """Function to search through class dictionaries to return the 
        DJII region code that matches the search query.
        
        Args:
            query (str): search parameter (ISO Alpha 2 or country name)
        
        Returns:
            djii_rc (str): DJII region code returned from running search

        """

        try:
            if (re.match('^[A-Z]{2}$', query) and query != 'UK'):
                #Query is ISO Alpha 2 - 'UK' is a two character DJII RC
                return self.iso_alpha_2_dict.get(query)[1]

            else:
                #Query is country name
                return self.country_name_dict.get(query)[1]

        except Exception as e:
            print(f'File parsing unsuccessful: {str(e)}')


    def get_iso_alpha_2(self, query):
        """Function to search through class dictionaries to return the 
        ISO Alpha 2 country code that matches the search query.
        
        Args:
            query (str): search parameter (DJII RC or country name)
        
        Returns:
            iso_alpha_2 (str): ISO Alpha 2 code returned from running search

        """

        try:
            if (re.match('^[A-Z]{2,6}$', query)):
                #Query is DJII RC
                return self.djii_rc_dict.get(query)[2]

            else:
                #Query is country name
                return self.country_name_dict.get(query)[2]

        except Exception as e:
            print(f'File parsing unsuccessful: {str(e)}')


    def create_country_name_dict(self):
        """Function to create a dictionary to map country names to DJII 
        region codes and ISO Alpha 2 country codes.
        
        Args:
            None
        
        Returns:
            country_name_dict (dict): dictionary with country names as keys

        """

        self.country_name_dict["Afghanistan"] = ["Afghanistan","AFGH","AF"]
        self.country_name_dict["Albania"] = ["Albania","ALB","AL"]
        self.country_name_dict["Algeria"] = ["Algeria","ALG","DZ"]
        self.country_name_dict["American Samoa"] = ["American Samoa","AMSAM","AS"]
        self.country_name_dict["Andorra"] = ["Andorra","ANDO","AD"]
        self.country_name_dict["Angola"] = ["Angola","ANGOL","AO"]
        self.country_name_dict["Anguilla"] = ["Anguilla","ANGUIL","AI"]
        self.country_name_dict["Antarctica"] = ["Antarctica","AARCT","AQ"]
        self.country_name_dict["Antigua and Barbuda"] = ["Antigua and Barbuda","ANTA","AG"]
        self.country_name_dict["Argentina"] = ["Argentina","ARG","AR"]
        self.country_name_dict["Armenia"] = ["Armenia","ARMEN","AM"]
        self.country_name_dict["Aruba"] = ["Aruba","ARUBA","AW"]
        self.country_name_dict["Australia"] = ["Australia","AUSTR","AU"]
        self.country_name_dict["Austria"] = ["Austria","AUST","AT"]
        self.country_name_dict["Azerbaijan"] = ["Azerbaijan","AZERB","AZ"]
        self.country_name_dict["Bahamas"] = ["Bahamas","BAH","BS"]
        self.country_name_dict["Bahrain"] = ["Bahrain","BAHRN","BH"]
        self.country_name_dict["Bangladesh"] = ["Bangladesh","BANDH","BD"]
        self.country_name_dict["Barbados"] = ["Barbados","BARB","BB"]
        self.country_name_dict["Belarus"] = ["Belarus","BYELRS","BY"]
        self.country_name_dict["Belgium"] = ["Belgium","BELG","BE"]
        self.country_name_dict["Belize"] = ["Belize","BELZ","BZ"]
        self.country_name_dict["Benin"] = ["Benin","BENIN","BJ"]
        self.country_name_dict["Bermuda"] = ["Bermuda","BERM","BM"]
        self.country_name_dict["Bhutan"] = ["Bhutan","BHUTAN","BT"]
        self.country_name_dict["Bolivia"] = ["Bolivia","BOL","BO"]
        self.country_name_dict["Bosnia and Herzegovina"] = ["Bosnia and Herzegovina","BSHZG","BA"]
        self.country_name_dict["Botswana"] = ["Botswana","BOTS","BW"]
        self.country_name_dict["Bouvet Island"] = ["Bouvet Island","BOUV","BV"]
        self.country_name_dict["Brazil"] = ["Brazil","BRAZ","BR"]
        self.country_name_dict["British Indian Ocean Territory"] = ["British Indian Ocean Territory","BIOT","IO"]
        self.country_name_dict["British Virgin Islands"] = ["British Virgin Islands","BVI","VG"]
        self.country_name_dict["Brunei"] = ["Brunei","BRUNEI","BN"]
        self.country_name_dict["Bulgaria"] = ["Bulgaria","BUL","BG"]
        self.country_name_dict["Burkina Faso"] = ["Burkina Faso","UPVOLA","BF"]
        self.country_name_dict["Burundi"] = ["Burundi","BURUN","BI"]
        self.country_name_dict["Cambodia"] = ["Cambodia","KAMPA","KH"]
        self.country_name_dict["Cameroon"] = ["Cameroon","CAMER","CM"]
        self.country_name_dict["Canada"] = ["Canada","CANA","CA"]
        self.country_name_dict["Cape Verde"] = ["Cape Verde","CVI","CV"]
        self.country_name_dict["Cayman Islands"] = ["Cayman Islands","CAYI","KY"]
        self.country_name_dict["Central African Republic"] = ["Central African Republic","CAFR","CF"]
        self.country_name_dict["Chad"] = ["Chad","CHAD","TD"]
        self.country_name_dict["Chile"] = ["Chile","CHIL","CL"]
        self.country_name_dict["China"] = ["China","CHINA","CN"]
        self.country_name_dict["Christmas Island"] = ["Christmas Island","CHR","CX"]
        self.country_name_dict["Cocos (Keeling) Islands"] = ["Cocos (Keeling) Islands","COCOS","CC"]
        self.country_name_dict["Colombia"] = ["Colombia","COL","CO"]
        self.country_name_dict["Comoros"] = ["Comoros","COMOR","KM"]
        self.country_name_dict["Congo Republic"] = ["Congo Republic","CONGO","CG"]
        self.country_name_dict["Cook Islands"] = ["Cook Islands","COOKIS","CK"]
        self.country_name_dict["Costa Rica"] = ["Costa Rica","COSR","CR"]
        self.country_name_dict["Cote d'Ivoire"] = ["Cote d'Ivoire","ICST","CI"]
        self.country_name_dict["Croatia"] = ["Croatia","CRTIA","HR"]
        self.country_name_dict["Cuba"] = ["Cuba","CUBA","CU"]
        self.country_name_dict["Cyprus"] = ["Cyprus","CYPR","CY"]
        self.country_name_dict["Czech Republic"] = ["Czech Republic","CZREP","CZ"]
        self.country_name_dict["Democratic Republic of the Congo"] = ["Democratic Republic of the Congo","ZAIRE","CD"]
        self.country_name_dict["Denmark"] = ["Denmark","DEN","DK"]
        self.country_name_dict["Djibouti"] = ["Djibouti","TAI","DJ"]
        self.country_name_dict["Dominica"] = ["Dominica","DOMA","DM"]
        self.country_name_dict["Dominican Republic"] = ["Dominican Republic","DOMR","DO"]
        self.country_name_dict["Timor Leste"] = ["Timor Leste","TIMOR","TL"]
        self.country_name_dict["Ecuador"] = ["Ecuador","ECU","EC"]
        self.country_name_dict["Egypt"] = ["Egypt","EGYPT","EG"]
        self.country_name_dict["El Salvador"] = ["El Salvador","ELSAL","SV"]
        self.country_name_dict["Equatorial Guinea"] = ["Equatorial Guinea","EQGNA","GQ"]
        self.country_name_dict["Eritrea"] = ["Eritrea","ERTRA","ER"]
        self.country_name_dict["Estonia"] = ["Estonia","ESTNIA","EE"]
        self.country_name_dict["Ethiopia"] = ["Ethiopia","ETHPA","ET"]
        self.country_name_dict["Faroe Islands"] = ["Faroe Islands","FAEROE","FO"]
        self.country_name_dict["Falkland Islands"] = ["Falkland Islands","FALK","FK"]
        self.country_name_dict["Fiji"] = ["Fiji","FIJI","FJ"]
        self.country_name_dict["Finland"] = ["Finland","FIN","FI"]
        self.country_name_dict["France"] = ["France","FRA","FR"]
        self.country_name_dict["French Guiana"] = ["French Guiana","FGNA","GF"]
        self.country_name_dict["French Polynesia"] = ["French Polynesia","FPOLY","PF"]
        self.country_name_dict["Gabon"] = ["Gabon","GABON","GA"]
        self.country_name_dict["Gambia"] = ["Gambia","GAMB","GM"]
        self.country_name_dict["Georgia"] = ["Georgia","GRGIA","GE"]
        self.country_name_dict["Germany"] = ["Germany","GFR","DE"]
        self.country_name_dict["Ghana"] = ["Ghana","GHANA","GH"]
        self.country_name_dict["Gibraltar"] = ["Gibraltar","GIB","GI"]
        self.country_name_dict["Greece"] = ["Greece","GREECE","GR"]
        self.country_name_dict["Greenland"] = ["Greenland","GREENL","GL"]
        self.country_name_dict["Grenada"] = ["Grenada","GREN","GD"]
        self.country_name_dict["Guadeloupe"] = ["Guadeloupe","GUAD","GP"]
        self.country_name_dict["Guam"] = ["Guam","GUAM","GU"]
        self.country_name_dict["Guatemala"] = ["Guatemala","GUAT","GT"]
        self.country_name_dict["Guinea"] = ["Guinea","GUREP","GN"]
        self.country_name_dict["Guinea-Bissau"] = ["Guinea-Bissau","GUBI","GW"]
        self.country_name_dict["Guyana"] = ["Guyana","GUY","GY"]
        self.country_name_dict["Haiti"] = ["Haiti","HAIT","HT"]
        self.country_name_dict["Heard and McDonald Islands"] = ["Heard and McDonald Islands","HEARD","HM"]
        self.country_name_dict["Honduras"] = ["Honduras","HON","HN"]
        self.country_name_dict["Hong Kong"] = ["Hong Kong","HKONG","HK"]
        self.country_name_dict["Hungary"] = ["Hungary","HUNG","HU"]
        self.country_name_dict["Iceland"] = ["Iceland","ICEL","IS"]
        self.country_name_dict["India"] = ["India","INDIA","IN"]
        self.country_name_dict["Indonesia"] = ["Indonesia","INDON","ID"]
        self.country_name_dict["Iran"] = ["Iran","IRAN","IR"]
        self.country_name_dict["Iraq"] = ["Iraq","IRAQ","IQ"]
        self.country_name_dict["Ireland"] = ["Ireland","IRE","IE"]
        self.country_name_dict["Israel"] = ["Israel","ISRAEL","IL"]
        self.country_name_dict["Italy"] = ["Italy","ITALY","IT"]
        self.country_name_dict["Jamaica"] = ["Jamaica","JAMA","JM"]
        self.country_name_dict["Japan"] = ["Japan","JAP","JP"]
        self.country_name_dict["Jordan"] = ["Jordan","JORDAN","JO"]
        self.country_name_dict["Kazakhstan"] = ["Kazakhstan","KAZK","KZ"]
        self.country_name_dict["Kenya"] = ["Kenya","KENYA","KE"]
        self.country_name_dict["Kiribati"] = ["Kiribati","KIRB","KI"]
        self.country_name_dict["Kuwait"] = ["Kuwait","KUWAIT","KW"]
        self.country_name_dict["Kyrgyzstan"] = ["Kyrgyzstan","KIRGH","KG"]
        self.country_name_dict["Laos"] = ["Laos","LAOS","LA"]
        self.country_name_dict["Latvia"] = ["Latvia","LATV","LV"]
        self.country_name_dict["Lebanon"] = ["Lebanon","LEBAN","LB"]
        self.country_name_dict["Lesotho"] = ["Lesotho","LESOT","LS"]
        self.country_name_dict["Liberia"] = ["Liberia","LIBER","LR"]
        self.country_name_dict["Libya"] = ["Libya","LIBYA","LY"]
        self.country_name_dict["Liechtenstein"] = ["Liechtenstein","LIECHT","LI"]
        self.country_name_dict["Lithuania"] = ["Lithuania","LITH","LT"]
        self.country_name_dict["Luxembourg"] = ["Luxembourg","LUX","LU"]
        self.country_name_dict["Macau"] = ["Macau","MACAO","MO"]
        self.country_name_dict["Macedonia"] = ["Macedonia","MCDNIA","MK"]
        self.country_name_dict["Madagascar"] = ["Madagascar","MALAG","MG"]
        self.country_name_dict["Malawi"] = ["Malawi","MALAW","MW"]
        self.country_name_dict["Malaysia"] = ["Malaysia","MALAY","MY"]
        self.country_name_dict["Maldives"] = ["Maldives","MALDR","MV"]
        self.country_name_dict["Mali"] = ["Mali","MALI","ML"]
        self.country_name_dict["Malta"] = ["Malta","MALTA","MT"]
        self.country_name_dict["Marshall Islands"] = ["Marshall Islands","MAH","MH"]
        self.country_name_dict["Martinique"] = ["Martinique","MARQ","MQ"]
        self.country_name_dict["Mauritania"] = ["Mauritania","MAURTN","MR"]
        self.country_name_dict["Mauritius"] = ["Mauritius","MAURTS","MU"]
        self.country_name_dict["Mayotte"] = ["Mayotte","MAYOT","YT"]
        self.country_name_dict["Mexico"] = ["Mexico","MEX","MX"]
        self.country_name_dict["Micronesia"] = ["Micronesia","FESMIC","FM"]
        self.country_name_dict["Moldova"] = ["Moldova","MOLDV","MD"]
        self.country_name_dict["Monaco"] = ["Monaco","MONAC","MC"]
        self.country_name_dict["Mongolia"] = ["Mongolia","MONGLA","MN"]
        self.country_name_dict["Montserrat"] = ["Montserrat","MONT","MS"]
        self.country_name_dict["Morocco"] = ["Morocco","MOROC","MA"]
        self.country_name_dict["Mozambique"] = ["Mozambique","MOZAM","MZ"]
        self.country_name_dict["Myanmar"] = ["Myanmar","BURMA","MM"]
        self.country_name_dict["Namibia"] = ["Namibia","NAMIB","NA"]
        self.country_name_dict["Nauru"] = ["Nauru","NAURU","NR"]
        self.country_name_dict["Nepal"] = ["Nepal","NEPAL","NP"]
        self.country_name_dict["Netherlands"] = ["Netherlands","NETH","NL"]
        self.country_name_dict["Curacao"] = ["Curacao","NANT","CW"]
        self.country_name_dict["New Caledonia"] = ["New Caledonia","NEWCAL","NC"]
        self.country_name_dict["New Zealand"] = ["New Zealand","NZ","NZ"]
        self.country_name_dict["Nicaragua"] = ["Nicaragua","NICG","NI"]
        self.country_name_dict["Niger"] = ["Niger","NIGER","NE"]
        self.country_name_dict["Nigeria"] = ["Nigeria","NIGEA","NG"]
        self.country_name_dict["Niue"] = ["Niue","NIUE","NU"]
        self.country_name_dict["Norfolk Island"] = ["Norfolk Island","NORFIS","NF"]
        self.country_name_dict["North Korea"] = ["North Korea","NKOREA","KP"]
        self.country_name_dict["Northern Mariana Islands"] = ["Northern Mariana Islands","NOMARI","MP"]
        self.country_name_dict["Norway"] = ["Norway","NORW","NO"]
        self.country_name_dict["Oman"] = ["Oman","OMAN","OM"]
        self.country_name_dict["Pakistan"] = ["Pakistan","PAKIS","PK"]
        self.country_name_dict["Palau"] = ["Palau","PALAU","PW"]
        self.country_name_dict["Palestine"] = ["Palestine","PALEST","PS"]
        self.country_name_dict["Panama"] = ["Panama","PANA","PA"]
        self.country_name_dict["Papua New Guinea"] = ["Papua New Guinea","PAPNG","PG"]
        self.country_name_dict["Paraguay"] = ["Paraguay","PARA","PY"]
        self.country_name_dict["Peru"] = ["Peru","PERU","PE"]
        self.country_name_dict["Philippines"] = ["Philippines","PHLNS","PH"]
        self.country_name_dict["Pitcairn"] = ["Pitcairn","PITCIS","PN"]
        self.country_name_dict["Poland"] = ["Poland","POL","PL"]
        self.country_name_dict["Portugal"] = ["Portugal","PORL","PT"]
        self.country_name_dict["Puerto Rico"] = ["Puerto Rico","PURI","PR"]
        self.country_name_dict["Qatar"] = ["Qatar","QATAR","QA"]
        self.country_name_dict["Reunion"] = ["Reunion","REUNI","RE"]
        self.country_name_dict["Romania"] = ["Romania","ROM","RO"]
        self.country_name_dict["Russia"] = ["Russia","RUSS","RU"]
        self.country_name_dict["Rwanda"] = ["Rwanda","RWANDA","RW"]
        self.country_name_dict["Saint Lucia"] = ["Saint Lucia","SLUC","LC"]
        self.country_name_dict["Samoa"] = ["Samoa","WSOMOA","WS"]
        self.country_name_dict["San Marino"] = ["San Marino","SMARNO","SM"]
        self.country_name_dict["Sao Tome and Principe"] = ["Sao Tome and Principe","PST","ST"]
        self.country_name_dict["Saudi Arabia"] = ["Saudi Arabia","SAARAB","SA"]
        self.country_name_dict["Senegal"] = ["Senegal","SENEG","SN"]
        self.country_name_dict["Seychelles"] = ["Seychelles","SEYCH","SC"]
        self.country_name_dict["Sierra Leone"] = ["Sierra Leone","SILEN","SL"]
        self.country_name_dict["Singapore"] = ["Singapore","SINGP","SG"]
        self.country_name_dict["Slovakia"] = ["Slovakia","SLVAK","SK"]
        self.country_name_dict["Slovenia"] = ["Slovenia","SLVNIA","SI"]
        self.country_name_dict["Solomon Islands"] = ["Solomon Islands","SOLIL","SB"]
        self.country_name_dict["Somalia"] = ["Somalia","SOMAL","SO"]
        self.country_name_dict["South Africa"] = ["South Africa","SAFR","ZA"]
        self.country_name_dict["South Georgia and South Sandwich Islands"] = ["South Georgia and South Sandwich Islands","SGSSI","GS"]
        self.country_name_dict["South Korea"] = ["South Korea","SKOREA","KR"]
        self.country_name_dict["Spain"] = ["Spain","SPAIN","ES"]
        self.country_name_dict["Sri Lanka"] = ["Sri Lanka","SRILAN","LK"]
        self.country_name_dict["St. Helena"] = ["St. Helena","STHEL","SH"]
        self.country_name_dict["St. Kitts and Nevis"] = ["St. Kitts and Nevis","SKIT","KN"]
        self.country_name_dict["St. Martin"] = ["St. Martin","STMART","MF"]
        self.country_name_dict["St. Pierre and Miquelon"] = ["St. Pierre and Miquelon","STPM","PM"]
        self.country_name_dict["St. Vincent and the Grenadines"] = ["St. Vincent and the Grenadines","SVIN","VC"]
        self.country_name_dict["Sudan"] = ["Sudan","SUDAN","SD"]
        self.country_name_dict["Suriname"] = ["Suriname","SURM","SR"]
        self.country_name_dict["Svalbard and Jan Mayen Islands"] = ["Svalbard and Jan Mayen Islands","SVALB","SJ"]
        self.country_name_dict["Swaziland"] = ["Swaziland","SWAZD","SZ"]
        self.country_name_dict["Sweden"] = ["Sweden","SWED","SE"]
        self.country_name_dict["Switzerland"] = ["Switzerland","SWITZ","CH"]
        self.country_name_dict["Syria"] = ["Syria","SYRIA","SY"]
        self.country_name_dict["Taiwan"] = ["Taiwan","TAIWAN","TW"]
        self.country_name_dict["Tajikistan"] = ["Tajikistan","TADZK","TJ"]
        self.country_name_dict["Tanzania"] = ["Tanzania","TANZA","TZ"]
        self.country_name_dict["Thailand"] = ["Thailand","THAIL","TH"]
        self.country_name_dict["Togo"] = ["Togo","TOGO","TG"]
        self.country_name_dict["Tokelau"] = ["Tokelau","TOKLAU","TK"]
        self.country_name_dict["Tonga"] = ["Tonga","TONGA","TO"]
        self.country_name_dict["Trinidad and Tobago"] = ["Trinidad and Tobago","TRTO","TT"]
        self.country_name_dict["Tunisia"] = ["Tunisia","TUNIS","TN"]
        self.country_name_dict["Turkey"] = ["Turkey","TURK","TR"]
        self.country_name_dict["Turkmenistan"] = ["Turkmenistan","TURKM","TM"]
        self.country_name_dict["Turks and Caicos Islands"] = ["Turks and Caicos Islands","TCAI","TC"]
        self.country_name_dict["Tuvalu"] = ["Tuvalu","TVLU","TV"]
        self.country_name_dict["Uganda"] = ["Uganda","UGANDA","UG"]
        self.country_name_dict["Ukraine"] = ["Ukraine","UKRN","UA"]
        self.country_name_dict["United Arab Emirates"] = ["United Arab Emirates","UAE","AE"]
        self.country_name_dict["United Kingdom"] = ["United Kingdom","UK","GB"]
        self.country_name_dict["United States"] = ["United States","USA","US"]
        self.country_name_dict["Uruguay"] = ["Uruguay","URU","UY"]
        self.country_name_dict["Uzbekistan"] = ["Uzbekistan","UZBK","UZ"]
        self.country_name_dict["Vanuatu"] = ["Vanuatu","VANU","VU"]
        self.country_name_dict["Vatican City"] = ["Vatican City","VCAN","VA"]
        self.country_name_dict["Venezuela"] = ["Venezuela","VEN","VE"]
        self.country_name_dict["Vietnam"] = ["Vietnam","VIETN","VN"]
        self.country_name_dict["Wallis and Futuna Islands"] = ["Wallis and Futuna Islands","WALLIS","WF"]
        self.country_name_dict["Western Sahara"] = ["Western Sahara","SPSAH","EH"]
        self.country_name_dict["Yemen"] = ["Yemen","YEMAR","YE"]
        self.country_name_dict["Serbia"] = ["Serbia","YUG","RS"]
        self.country_name_dict["Zambia"] = ["Zambia","ZAMBIA","ZM"]
        self.country_name_dict["Zimbabwe"] = ["Zimbabwe","ZIMBAB","ZW"]
        self.country_name_dict["Montenegro"] = ["Montenegro","MNTNG","ME"]
        self.country_name_dict["U.S. Virgin Islands"] = ["U.S. Virgin Islands","VI","VI"]
        self.country_name_dict["Saint Barthelemy"] = ["Saint Barthelemy","SBRTHY","BL"]
        self.country_name_dict["Guernsey"] = ["Guernsey","GUERN","GG"]
        self.country_name_dict["Isle of Man"] = ["Isle of Man","ISLEOM","IM"]
        self.country_name_dict["Jersey"] = ["Jersey","JERSEY","JE"]
        self.country_name_dict["St. Maarten"] = ["St. Maarten","SINTMA","SX"]
        self.country_name_dict["South Sudan"] = ["South Sudan","SOUSUD","SS"]

        return self.country_name_dict


    def create_djii_rc_dict(self):
        """Function to create a dictionary to map DJII region codes to 
        country names and ISO Alpha 2 country codes.
        
        Args:
            None
        
        Returns:
            djii_rc_dict (dict): dictionary with DJII region codes as keys

        """

        self.djii_rc_dict["AFGH"] = ["Afghanistan","AFGH","AF"]
        self.djii_rc_dict["ALB"] = ["Albania","ALB","AL"]
        self.djii_rc_dict["ALG"] = ["Algeria","ALG","DZ"]
        self.djii_rc_dict["AMSAM"] = ["American Samoa","AMSAM","AS"]
        self.djii_rc_dict["ANDO"] = ["Andorra","ANDO","AD"]
        self.djii_rc_dict["ANGOL"] = ["Angola","ANGOL","AO"]
        self.djii_rc_dict["ANGUIL"] = ["Anguilla","ANGUIL","AI"]
        self.djii_rc_dict["AARCT"] = ["Antarctica","AARCT","AQ"]
        self.djii_rc_dict["ANTA"] = ["Antigua and Barbuda","ANTA","AG"]
        self.djii_rc_dict["ARG"] = ["Argentina","ARG","AR"]
        self.djii_rc_dict["ARMEN"] = ["Armenia","ARMEN","AM"]
        self.djii_rc_dict["ARUBA"] = ["Aruba","ARUBA","AW"]
        self.djii_rc_dict["AUSTR"] = ["Australia","AUSTR","AU"]
        self.djii_rc_dict["AUST"] = ["Austria","AUST","AT"]
        self.djii_rc_dict["AZERB"] = ["Azerbaijan","AZERB","AZ"]
        self.djii_rc_dict["BAH"] = ["Bahamas","BAH","BS"]
        self.djii_rc_dict["BAHRN"] = ["Bahrain","BAHRN","BH"]
        self.djii_rc_dict["BANDH"] = ["Bangladesh","BANDH","BD"]
        self.djii_rc_dict["BARB"] = ["Barbados","BARB","BB"]
        self.djii_rc_dict["BYELRS"] = ["Belarus","BYELRS","BY"]
        self.djii_rc_dict["BELG"] = ["Belgium","BELG","BE"]
        self.djii_rc_dict["BELZ"] = ["Belize","BELZ","BZ"]
        self.djii_rc_dict["BENIN"] = ["Benin","BENIN","BJ"]
        self.djii_rc_dict["BERM"] = ["Bermuda","BERM","BM"]
        self.djii_rc_dict["BHUTAN"] = ["Bhutan","BHUTAN","BT"]
        self.djii_rc_dict["BOL"] = ["Bolivia","BOL","BO"]
        self.djii_rc_dict["BSHZG"] = ["Bosnia and Herzegovina","BSHZG","BA"]
        self.djii_rc_dict["BOTS"] = ["Botswana","BOTS","BW"]
        self.djii_rc_dict["BOUV"] = ["Bouvet Island","BOUV","BV"]
        self.djii_rc_dict["BRAZ"] = ["Brazil","BRAZ","BR"]
        self.djii_rc_dict["BIOT"] = ["British Indian Ocean Territory","BIOT","IO"]
        self.djii_rc_dict["BVI"] = ["British Virgin Islands","BVI","VG"]
        self.djii_rc_dict["BRUNEI"] = ["Brunei","BRUNEI","BN"]
        self.djii_rc_dict["BUL"] = ["Bulgaria","BUL","BG"]
        self.djii_rc_dict["UPVOLA"] = ["Burkina Faso","UPVOLA","BF"]
        self.djii_rc_dict["BURUN"] = ["Burundi","BURUN","BI"]
        self.djii_rc_dict["KAMPA"] = ["Cambodia","KAMPA","KH"]
        self.djii_rc_dict["CAMER"] = ["Cameroon","CAMER","CM"]
        self.djii_rc_dict["CANA"] = ["Canada","CANA","CA"]
        self.djii_rc_dict["CVI"] = ["Cape Verde","CVI","CV"]
        self.djii_rc_dict["CAYI"] = ["Cayman Islands","CAYI","KY"]
        self.djii_rc_dict["CAFR"] = ["Central African Republic","CAFR","CF"]
        self.djii_rc_dict["CHAD"] = ["Chad","CHAD","TD"]
        self.djii_rc_dict["CHIL"] = ["Chile","CHIL","CL"]
        self.djii_rc_dict["CHINA"] = ["China","CHINA","CN"]
        self.djii_rc_dict["CHR"] = ["Christmas Island","CHR","CX"]
        self.djii_rc_dict["COCOS"] = ["Cocos (Keeling) Islands","COCOS","CC"]
        self.djii_rc_dict["COL"] = ["Colombia","COL","CO"]
        self.djii_rc_dict["COMOR"] = ["Comoros","COMOR","KM"]
        self.djii_rc_dict["CONGO"] = ["Congo Republic","CONGO","CG"]
        self.djii_rc_dict["COOKIS"] = ["Cook Islands","COOKIS","CK"]
        self.djii_rc_dict["COSR"] = ["Costa Rica","COSR","CR"]
        self.djii_rc_dict["ICST"] = ["Cote d'Ivoire","ICST","CI"]
        self.djii_rc_dict["CRTIA"] = ["Croatia","CRTIA","HR"]
        self.djii_rc_dict["CUBA"] = ["Cuba","CUBA","CU"]
        self.djii_rc_dict["CYPR"] = ["Cyprus","CYPR","CY"]
        self.djii_rc_dict["CZREP"] = ["Czech Republic","CZREP","CZ"]
        self.djii_rc_dict["ZAIRE"] = ["Democratic Republic of the Congo","ZAIRE","CD"]
        self.djii_rc_dict["DEN"] = ["Denmark","DEN","DK"]
        self.djii_rc_dict["TAI"] = ["Djibouti","TAI","DJ"]
        self.djii_rc_dict["DOMA"] = ["Dominica","DOMA","DM"]
        self.djii_rc_dict["DOMR"] = ["Dominican Republic","DOMR","DO"]
        self.djii_rc_dict["TIMOR"] = ["Timor Leste","TIMOR","TL"]
        self.djii_rc_dict["ECU"] = ["Ecuador","ECU","EC"]
        self.djii_rc_dict["EGYPT"] = ["Egypt","EGYPT","EG"]
        self.djii_rc_dict["ELSAL"] = ["El Salvador","ELSAL","SV"]
        self.djii_rc_dict["EQGNA"] = ["Equatorial Guinea","EQGNA","GQ"]
        self.djii_rc_dict["ERTRA"] = ["Eritrea","ERTRA","ER"]
        self.djii_rc_dict["ESTNIA"] = ["Estonia","ESTNIA","EE"]
        self.djii_rc_dict["ETHPA"] = ["Ethiopia","ETHPA","ET"]
        self.djii_rc_dict["FAEROE"] = ["Faroe Islands","FAEROE","FO"]
        self.djii_rc_dict["FALK"] = ["Falkland Islands","FALK","FK"]
        self.djii_rc_dict["FIJI"] = ["Fiji","FIJI","FJ"]
        self.djii_rc_dict["FIN"] = ["Finland","FIN","FI"]
        self.djii_rc_dict["FRA"] = ["France","FRA","FR"]
        self.djii_rc_dict["FGNA"] = ["French Guiana","FGNA","GF"]
        self.djii_rc_dict["FPOLY"] = ["French Polynesia","FPOLY","PF"]
        self.djii_rc_dict["GABON"] = ["Gabon","GABON","GA"]
        self.djii_rc_dict["GAMB"] = ["Gambia","GAMB","GM"]
        self.djii_rc_dict["GRGIA"] = ["Georgia","GRGIA","GE"]
        self.djii_rc_dict["GFR"] = ["Germany","GFR","DE"]
        self.djii_rc_dict["GHANA"] = ["Ghana","GHANA","GH"]
        self.djii_rc_dict["GIB"] = ["Gibraltar","GIB","GI"]
        self.djii_rc_dict["GREECE"] = ["Greece","GREECE","GR"]
        self.djii_rc_dict["GREENL"] = ["Greenland","GREENL","GL"]
        self.djii_rc_dict["GREN"] = ["Grenada","GREN","GD"]
        self.djii_rc_dict["GUAD"] = ["Guadeloupe","GUAD","GP"]
        self.djii_rc_dict["GUAM"] = ["Guam","GUAM","GU"]
        self.djii_rc_dict["GUAT"] = ["Guatemala","GUAT","GT"]
        self.djii_rc_dict["GUREP"] = ["Guinea","GUREP","GN"]
        self.djii_rc_dict["GUBI"] = ["Guinea-Bissau","GUBI","GW"]
        self.djii_rc_dict["GUY"] = ["Guyana","GUY","GY"]
        self.djii_rc_dict["HAIT"] = ["Haiti","HAIT","HT"]
        self.djii_rc_dict["HEARD"] = ["Heard and McDonald Islands","HEARD","HM"]
        self.djii_rc_dict["HON"] = ["Honduras","HON","HN"]
        self.djii_rc_dict["HKONG"] = ["Hong Kong","HKONG","HK"]
        self.djii_rc_dict["HUNG"] = ["Hungary","HUNG","HU"]
        self.djii_rc_dict["ICEL"] = ["Iceland","ICEL","IS"]
        self.djii_rc_dict["INDIA"] = ["India","INDIA","IN"]
        self.djii_rc_dict["INDON"] = ["Indonesia","INDON","ID"]
        self.djii_rc_dict["IRAN"] = ["Iran","IRAN","IR"]
        self.djii_rc_dict["IRAQ"] = ["Iraq","IRAQ","IQ"]
        self.djii_rc_dict["IRE"] = ["Ireland","IRE","IE"]
        self.djii_rc_dict["ISRAEL"] = ["Israel","ISRAEL","IL"]
        self.djii_rc_dict["ITALY"] = ["Italy","ITALY","IT"]
        self.djii_rc_dict["JAMA"] = ["Jamaica","JAMA","JM"]
        self.djii_rc_dict["JAP"] = ["Japan","JAP","JP"]
        self.djii_rc_dict["JORDAN"] = ["Jordan","JORDAN","JO"]
        self.djii_rc_dict["KAZK"] = ["Kazakhstan","KAZK","KZ"]
        self.djii_rc_dict["KENYA"] = ["Kenya","KENYA","KE"]
        self.djii_rc_dict["KIRB"] = ["Kiribati","KIRB","KI"]
        self.djii_rc_dict["KUWAIT"] = ["Kuwait","KUWAIT","KW"]
        self.djii_rc_dict["KIRGH"] = ["Kyrgyzstan","KIRGH","KG"]
        self.djii_rc_dict["LAOS"] = ["Laos","LAOS","LA"]
        self.djii_rc_dict["LATV"] = ["Latvia","LATV","LV"]
        self.djii_rc_dict["LEBAN"] = ["Lebanon","LEBAN","LB"]
        self.djii_rc_dict["LESOT"] = ["Lesotho","LESOT","LS"]
        self.djii_rc_dict["LIBER"] = ["Liberia","LIBER","LR"]
        self.djii_rc_dict["LIBYA"] = ["Libya","LIBYA","LY"]
        self.djii_rc_dict["LIECHT"] = ["Liechtenstein","LIECHT","LI"]
        self.djii_rc_dict["LITH"] = ["Lithuania","LITH","LT"]
        self.djii_rc_dict["LUX"] = ["Luxembourg","LUX","LU"]
        self.djii_rc_dict["MACAO"] = ["Macau","MACAO","MO"]
        self.djii_rc_dict["MCDNIA"] = ["Macedonia","MCDNIA","MK"]
        self.djii_rc_dict["MALAG"] = ["Madagascar","MALAG","MG"]
        self.djii_rc_dict["MALAW"] = ["Malawi","MALAW","MW"]
        self.djii_rc_dict["MALAY"] = ["Malaysia","MALAY","MY"]
        self.djii_rc_dict["MALDR"] = ["Maldives","MALDR","MV"]
        self.djii_rc_dict["MALI"] = ["Mali","MALI","ML"]
        self.djii_rc_dict["MALTA"] = ["Malta","MALTA","MT"]
        self.djii_rc_dict["MAH"] = ["Marshall Islands","MAH","MH"]
        self.djii_rc_dict["MARQ"] = ["Martinique","MARQ","MQ"]
        self.djii_rc_dict["MAURTN"] = ["Mauritania","MAURTN","MR"]
        self.djii_rc_dict["MAURTS"] = ["Mauritius","MAURTS","MU"]
        self.djii_rc_dict["MAYOT"] = ["Mayotte","MAYOT","YT"]
        self.djii_rc_dict["MEX"] = ["Mexico","MEX","MX"]
        self.djii_rc_dict["FESMIC"] = ["Micronesia","FESMIC","FM"]
        self.djii_rc_dict["MOLDV"] = ["Moldova","MOLDV","MD"]
        self.djii_rc_dict["MONAC"] = ["Monaco","MONAC","MC"]
        self.djii_rc_dict["MONGLA"] = ["Mongolia","MONGLA","MN"]
        self.djii_rc_dict["MONT"] = ["Montserrat","MONT","MS"]
        self.djii_rc_dict["MOROC"] = ["Morocco","MOROC","MA"]
        self.djii_rc_dict["MOZAM"] = ["Mozambique","MOZAM","MZ"]
        self.djii_rc_dict["BURMA"] = ["Myanmar","BURMA","MM"]
        self.djii_rc_dict["NAMIB"] = ["Namibia","NAMIB","NA"]
        self.djii_rc_dict["NAURU"] = ["Nauru","NAURU","NR"]
        self.djii_rc_dict["NEPAL"] = ["Nepal","NEPAL","NP"]
        self.djii_rc_dict["NETH"] = ["Netherlands","NETH","NL"]
        self.djii_rc_dict["NANT"] = ["Curacao","NANT","CW"]
        self.djii_rc_dict["NEWCAL"] = ["New Caledonia","NEWCAL","NC"]
        self.djii_rc_dict["NZ"] = ["New Zealand","NZ","NZ"]
        self.djii_rc_dict["NICG"] = ["Nicaragua","NICG","NI"]
        self.djii_rc_dict["NIGER"] = ["Niger","NIGER","NE"]
        self.djii_rc_dict["NIGEA"] = ["Nigeria","NIGEA","NG"]
        self.djii_rc_dict["NIUE"] = ["Niue","NIUE","NU"]
        self.djii_rc_dict["NORFIS"] = ["Norfolk Island","NORFIS","NF"]
        self.djii_rc_dict["NKOREA"] = ["North Korea","NKOREA","KP"]
        self.djii_rc_dict["NOMARI"] = ["Northern Mariana Islands","NOMARI","MP"]
        self.djii_rc_dict["NORW"] = ["Norway","NORW","NO"]
        self.djii_rc_dict["OMAN"] = ["Oman","OMAN","OM"]
        self.djii_rc_dict["PAKIS"] = ["Pakistan","PAKIS","PK"]
        self.djii_rc_dict["PALAU"] = ["Palau","PALAU","PW"]
        self.djii_rc_dict["PALEST"] = ["Palestine","PALEST","PS"]
        self.djii_rc_dict["PANA"] = ["Panama","PANA","PA"]
        self.djii_rc_dict["PAPNG"] = ["Papua New Guinea","PAPNG","PG"]
        self.djii_rc_dict["PARA"] = ["Paraguay","PARA","PY"]
        self.djii_rc_dict["PERU"] = ["Peru","PERU","PE"]
        self.djii_rc_dict["PHLNS"] = ["Philippines","PHLNS","PH"]
        self.djii_rc_dict["PITCIS"] = ["Pitcairn","PITCIS","PN"]
        self.djii_rc_dict["POL"] = ["Poland","POL","PL"]
        self.djii_rc_dict["PORL"] = ["Portugal","PORL","PT"]
        self.djii_rc_dict["PURI"] = ["Puerto Rico","PURI","PR"]
        self.djii_rc_dict["QATAR"] = ["Qatar","QATAR","QA"]
        self.djii_rc_dict["REUNI"] = ["Reunion","REUNI","RE"]
        self.djii_rc_dict["ROM"] = ["Romania","ROM","RO"]
        self.djii_rc_dict["RUSS"] = ["Russia","RUSS","RU"]
        self.djii_rc_dict["RWANDA"] = ["Rwanda","RWANDA","RW"]
        self.djii_rc_dict["SLUC"] = ["Saint Lucia","SLUC","LC"]
        self.djii_rc_dict["WSOMOA"] = ["Samoa","WSOMOA","WS"]
        self.djii_rc_dict["SMARNO"] = ["San Marino","SMARNO","SM"]
        self.djii_rc_dict["PST"] = ["Sao Tome and Principe","PST","ST"]
        self.djii_rc_dict["SAARAB"] = ["Saudi Arabia","SAARAB","SA"]
        self.djii_rc_dict["SENEG"] = ["Senegal","SENEG","SN"]
        self.djii_rc_dict["SEYCH"] = ["Seychelles","SEYCH","SC"]
        self.djii_rc_dict["SILEN"] = ["Sierra Leone","SILEN","SL"]
        self.djii_rc_dict["SINGP"] = ["Singapore","SINGP","SG"]
        self.djii_rc_dict["SLVAK"] = ["Slovakia","SLVAK","SK"]
        self.djii_rc_dict["SLVNIA"] = ["Slovenia","SLVNIA","SI"]
        self.djii_rc_dict["SOLIL"] = ["Solomon Islands","SOLIL","SB"]
        self.djii_rc_dict["SOMAL"] = ["Somalia","SOMAL","SO"]
        self.djii_rc_dict["SAFR"] = ["South Africa","SAFR","ZA"]
        self.djii_rc_dict["SGSSI"] = ["South Georgia and South Sandwich Islands","SGSSI","GS"]
        self.djii_rc_dict["SKOREA"] = ["South Korea","SKOREA","KR"]
        self.djii_rc_dict["SPAIN"] = ["Spain","SPAIN","ES"]
        self.djii_rc_dict["SRILAN"] = ["Sri Lanka","SRILAN","LK"]
        self.djii_rc_dict["STHEL"] = ["St. Helena","STHEL","SH"]
        self.djii_rc_dict["SKIT"] = ["St. Kitts and Nevis","SKIT","KN"]
        self.djii_rc_dict["STMART"] = ["St. Martin","STMART","MF"]
        self.djii_rc_dict["STPM"] = ["St. Pierre and Miquelon","STPM","PM"]
        self.djii_rc_dict["SVIN"] = ["St. Vincent and the Grenadines","SVIN","VC"]
        self.djii_rc_dict["SUDAN"] = ["Sudan","SUDAN","SD"]
        self.djii_rc_dict["SURM"] = ["Suriname","SURM","SR"]
        self.djii_rc_dict["SVALB"] = ["Svalbard and Jan Mayen Islands","SVALB","SJ"]
        self.djii_rc_dict["SWAZD"] = ["Swaziland","SWAZD","SZ"]
        self.djii_rc_dict["SWED"] = ["Sweden","SWED","SE"]
        self.djii_rc_dict["SWITZ"] = ["Switzerland","SWITZ","CH"]
        self.djii_rc_dict["SYRIA"] = ["Syria","SYRIA","SY"]
        self.djii_rc_dict["TAIWAN"] = ["Taiwan","TAIWAN","TW"]
        self.djii_rc_dict["TADZK"] = ["Tajikistan","TADZK","TJ"]
        self.djii_rc_dict["TANZA"] = ["Tanzania","TANZA","TZ"]
        self.djii_rc_dict["THAIL"] = ["Thailand","THAIL","TH"]
        self.djii_rc_dict["TOGO"] = ["Togo","TOGO","TG"]
        self.djii_rc_dict["TOKLAU"] = ["Tokelau","TOKLAU","TK"]
        self.djii_rc_dict["TONGA"] = ["Tonga","TONGA","TO"]
        self.djii_rc_dict["TRTO"] = ["Trinidad and Tobago","TRTO","TT"]
        self.djii_rc_dict["TUNIS"] = ["Tunisia","TUNIS","TN"]
        self.djii_rc_dict["TURK"] = ["Turkey","TURK","TR"]
        self.djii_rc_dict["TURKM"] = ["Turkmenistan","TURKM","TM"]
        self.djii_rc_dict["TCAI"] = ["Turks and Caicos Islands","TCAI","TC"]
        self.djii_rc_dict["TVLU"] = ["Tuvalu","TVLU","TV"]
        self.djii_rc_dict["UGANDA"] = ["Uganda","UGANDA","UG"]
        self.djii_rc_dict["UKRN"] = ["Ukraine","UKRN","UA"]
        self.djii_rc_dict["UAE"] = ["United Arab Emirates","UAE","AE"]
        self.djii_rc_dict["UK"] = ["United Kingdom","UK","GB"]
        self.djii_rc_dict["USA"] = ["United States","USA","US"]
        self.djii_rc_dict["URU"] = ["Uruguay","URU","UY"]
        self.djii_rc_dict["UZBK"] = ["Uzbekistan","UZBK","UZ"]
        self.djii_rc_dict["VANU"] = ["Vanuatu","VANU","VU"]
        self.djii_rc_dict["VCAN"] = ["Vatican City","VCAN","VA"]
        self.djii_rc_dict["VEN"] = ["Venezuela","VEN","VE"]
        self.djii_rc_dict["VIETN"] = ["Vietnam","VIETN","VN"]
        self.djii_rc_dict["WALLIS"] = ["Wallis and Futuna Islands","WALLIS","WF"]
        self.djii_rc_dict["SPSAH"] = ["Western Sahara","SPSAH","EH"]
        self.djii_rc_dict["YEMAR"] = ["Yemen","YEMAR","YE"]
        self.djii_rc_dict["YUG"] = ["Serbia","YUG","RS"]
        self.djii_rc_dict["ZAMBIA"] = ["Zambia","ZAMBIA","ZM"]
        self.djii_rc_dict["ZIMBAB"] = ["Zimbabwe","ZIMBAB","ZW"]
        self.djii_rc_dict["MNTNG"] = ["Montenegro","MNTNG","ME"]
        self.djii_rc_dict["VI"] = ["U.S. Virgin Islands","VI","VI"]
        self.djii_rc_dict["SBRTHY"] = ["Saint Barthelemy","SBRTHY","BL"]
        self.djii_rc_dict["GUERN"] = ["Guernsey","GUERN","GG"]
        self.djii_rc_dict["ISLEOM"] = ["Isle of Man","ISLEOM","IM"]
        self.djii_rc_dict["JERSEY"] = ["Jersey","JERSEY","JE"]
        self.djii_rc_dict["SINTMA"] = ["St. Maarten","SINTMA","SX"]
        self.djii_rc_dict["SOUSUD"] = ["South Sudan","SOUSUD","SS"]
        
        return self.djii_rc_dict


    def create_iso_alpha_2_dict(self):
        """Function to create a dictionary to map ISO Alpha 2 country 
        codes to country names and DJII region codes.
        
        Args:
            None
        
        Returns:
            iso_alpha_2_dict (dict): dictionary with ISO Alpha 2 codes as keys

        """
        
        self.iso_alpha_2_dict["AF"] = ["Afghanistan","AFGH","AF"]
        self.iso_alpha_2_dict["AL"] = ["Albania","ALB","AL"]
        self.iso_alpha_2_dict["DZ"] = ["Algeria","ALG","DZ"]
        self.iso_alpha_2_dict["AS"] = ["American Samoa","AMSAM","AS"]
        self.iso_alpha_2_dict["AD"] = ["Andorra","ANDO","AD"]
        self.iso_alpha_2_dict["AO"] = ["Angola","ANGOL","AO"]
        self.iso_alpha_2_dict["AI"] = ["Anguilla","ANGUIL","AI"]
        self.iso_alpha_2_dict["AQ"] = ["Antarctica","AARCT","AQ"]
        self.iso_alpha_2_dict["AG"] = ["Antigua and Barbuda","ANTA","AG"]
        self.iso_alpha_2_dict["AR"] = ["Argentina","ARG","AR"]
        self.iso_alpha_2_dict["AM"] = ["Armenia","ARMEN","AM"]
        self.iso_alpha_2_dict["AW"] = ["Aruba","ARUBA","AW"]
        self.iso_alpha_2_dict["AU"] = ["Australia","AUSTR","AU"]
        self.iso_alpha_2_dict["AT"] = ["Austria","AUST","AT"]
        self.iso_alpha_2_dict["AZ"] = ["Azerbaijan","AZERB","AZ"]
        self.iso_alpha_2_dict["BS"] = ["Bahamas","BAH","BS"]
        self.iso_alpha_2_dict["BH"] = ["Bahrain","BAHRN","BH"]
        self.iso_alpha_2_dict["BD"] = ["Bangladesh","BANDH","BD"]
        self.iso_alpha_2_dict["BB"] = ["Barbados","BARB","BB"]
        self.iso_alpha_2_dict["BY"] = ["Belarus","BYELRS","BY"]
        self.iso_alpha_2_dict["BE"] = ["Belgium","BELG","BE"]
        self.iso_alpha_2_dict["BZ"] = ["Belize","BELZ","BZ"]
        self.iso_alpha_2_dict["BJ"] = ["Benin","BENIN","BJ"]
        self.iso_alpha_2_dict["BM"] = ["Bermuda","BERM","BM"]
        self.iso_alpha_2_dict["BT"] = ["Bhutan","BHUTAN","BT"]
        self.iso_alpha_2_dict["BO"] = ["Bolivia","BOL","BO"]
        self.iso_alpha_2_dict["BA"] = ["Bosnia and Herzegovina","BSHZG","BA"]
        self.iso_alpha_2_dict["BW"] = ["Botswana","BOTS","BW"]
        self.iso_alpha_2_dict["BV"] = ["Bouvet Island","BOUV","BV"]
        self.iso_alpha_2_dict["BR"] = ["Brazil","BRAZ","BR"]
        self.iso_alpha_2_dict["IO"] = ["British Indian Ocean Territory","BIOT","IO"]
        self.iso_alpha_2_dict["VG"] = ["British Virgin Islands","BVI","VG"]
        self.iso_alpha_2_dict["BN"] = ["Brunei","BRUNEI","BN"]
        self.iso_alpha_2_dict["BG"] = ["Bulgaria","BUL","BG"]
        self.iso_alpha_2_dict["BF"] = ["Burkina Faso","UPVOLA","BF"]
        self.iso_alpha_2_dict["BI"] = ["Burundi","BURUN","BI"]
        self.iso_alpha_2_dict["KH"] = ["Cambodia","KAMPA","KH"]
        self.iso_alpha_2_dict["CM"] = ["Cameroon","CAMER","CM"]
        self.iso_alpha_2_dict["CA"] = ["Canada","CANA","CA"]
        self.iso_alpha_2_dict["CV"] = ["Cape Verde","CVI","CV"]
        self.iso_alpha_2_dict["KY"] = ["Cayman Islands","CAYI","KY"]
        self.iso_alpha_2_dict["CF"] = ["Central African Republic","CAFR","CF"]
        self.iso_alpha_2_dict["TD"] = ["Chad","CHAD","TD"]
        self.iso_alpha_2_dict["CL"] = ["Chile","CHIL","CL"]
        self.iso_alpha_2_dict["CN"] = ["China","CHINA","CN"]
        self.iso_alpha_2_dict["CX"] = ["Christmas Island","CHR","CX"]
        self.iso_alpha_2_dict["CC"] = ["Cocos (Keeling) Islands","COCOS","CC"]
        self.iso_alpha_2_dict["CO"] = ["Colombia","COL","CO"]
        self.iso_alpha_2_dict["KM"] = ["Comoros","COMOR","KM"]
        self.iso_alpha_2_dict["CG"] = ["Congo Republic","CONGO","CG"]
        self.iso_alpha_2_dict["CK"] = ["Cook Islands","COOKIS","CK"]
        self.iso_alpha_2_dict["CR"] = ["Costa Rica","COSR","CR"]
        self.iso_alpha_2_dict["CI"] = ["Cote d'Ivoire","ICST","CI"]
        self.iso_alpha_2_dict["HR"] = ["Croatia","CRTIA","HR"]
        self.iso_alpha_2_dict["CU"] = ["Cuba","CUBA","CU"]
        self.iso_alpha_2_dict["CY"] = ["Cyprus","CYPR","CY"]
        self.iso_alpha_2_dict["CZ"] = ["Czech Republic","CZREP","CZ"]
        self.iso_alpha_2_dict["CD"] = ["Democratic Republic of the Congo","ZAIRE","CD"]
        self.iso_alpha_2_dict["DK"] = ["Denmark","DEN","DK"]
        self.iso_alpha_2_dict["DJ"] = ["Djibouti","TAI","DJ"]
        self.iso_alpha_2_dict["DM"] = ["Dominica","DOMA","DM"]
        self.iso_alpha_2_dict["DO"] = ["Dominican Republic","DOMR","DO"]
        self.iso_alpha_2_dict["TL"] = ["Timor Leste","TIMOR","TL"]
        self.iso_alpha_2_dict["EC"] = ["Ecuador","ECU","EC"]
        self.iso_alpha_2_dict["EG"] = ["Egypt","EGYPT","EG"]
        self.iso_alpha_2_dict["SV"] = ["El Salvador","ELSAL","SV"]
        self.iso_alpha_2_dict["GQ"] = ["Equatorial Guinea","EQGNA","GQ"]
        self.iso_alpha_2_dict["ER"] = ["Eritrea","ERTRA","ER"]
        self.iso_alpha_2_dict["EE"] = ["Estonia","ESTNIA","EE"]
        self.iso_alpha_2_dict["ET"] = ["Ethiopia","ETHPA","ET"]
        self.iso_alpha_2_dict["FO"] = ["Faroe Islands","FAEROE","FO"]
        self.iso_alpha_2_dict["FK"] = ["Falkland Islands","FALK","FK"]
        self.iso_alpha_2_dict["FJ"] = ["Fiji","FIJI","FJ"]
        self.iso_alpha_2_dict["FI"] = ["Finland","FIN","FI"]
        self.iso_alpha_2_dict["FR"] = ["France","FRA","FR"]
        self.iso_alpha_2_dict["GF"] = ["French Guiana","FGNA","GF"]
        self.iso_alpha_2_dict["PF"] = ["French Polynesia","FPOLY","PF"]
        self.iso_alpha_2_dict["GA"] = ["Gabon","GABON","GA"]
        self.iso_alpha_2_dict["GM"] = ["Gambia","GAMB","GM"]
        self.iso_alpha_2_dict["GE"] = ["Georgia","GRGIA","GE"]
        self.iso_alpha_2_dict["DE"] = ["Germany","GFR","DE"]
        self.iso_alpha_2_dict["GH"] = ["Ghana","GHANA","GH"]
        self.iso_alpha_2_dict["GI"] = ["Gibraltar","GIB","GI"]
        self.iso_alpha_2_dict["GR"] = ["Greece","GREECE","GR"]
        self.iso_alpha_2_dict["GL"] = ["Greenland","GREENL","GL"]
        self.iso_alpha_2_dict["GD"] = ["Grenada","GREN","GD"]
        self.iso_alpha_2_dict["GP"] = ["Guadeloupe","GUAD","GP"]
        self.iso_alpha_2_dict["GU"] = ["Guam","GUAM","GU"]
        self.iso_alpha_2_dict["GT"] = ["Guatemala","GUAT","GT"]
        self.iso_alpha_2_dict["GN"] = ["Guinea","GUREP","GN"]
        self.iso_alpha_2_dict["GW"] = ["Guinea-Bissau","GUBI","GW"]
        self.iso_alpha_2_dict["GY"] = ["Guyana","GUY","GY"]
        self.iso_alpha_2_dict["HT"] = ["Haiti","HAIT","HT"]
        self.iso_alpha_2_dict["HM"] = ["Heard and McDonald Islands","HEARD","HM"]
        self.iso_alpha_2_dict["HN"] = ["Honduras","HON","HN"]
        self.iso_alpha_2_dict["HK"] = ["Hong Kong","HKONG","HK"]
        self.iso_alpha_2_dict["HU"] = ["Hungary","HUNG","HU"]
        self.iso_alpha_2_dict["IS"] = ["Iceland","ICEL","IS"]
        self.iso_alpha_2_dict["IN"] = ["India","INDIA","IN"]
        self.iso_alpha_2_dict["ID"] = ["Indonesia","INDON","ID"]
        self.iso_alpha_2_dict["IR"] = ["Iran","IRAN","IR"]
        self.iso_alpha_2_dict["IQ"] = ["Iraq","IRAQ","IQ"]
        self.iso_alpha_2_dict["IE"] = ["Ireland","IRE","IE"]
        self.iso_alpha_2_dict["IL"] = ["Israel","ISRAEL","IL"]
        self.iso_alpha_2_dict["IT"] = ["Italy","ITALY","IT"]
        self.iso_alpha_2_dict["JM"] = ["Jamaica","JAMA","JM"]
        self.iso_alpha_2_dict["JP"] = ["Japan","JAP","JP"]
        self.iso_alpha_2_dict["JO"] = ["Jordan","JORDAN","JO"]
        self.iso_alpha_2_dict["KZ"] = ["Kazakhstan","KAZK","KZ"]
        self.iso_alpha_2_dict["KE"] = ["Kenya","KENYA","KE"]
        self.iso_alpha_2_dict["KI"] = ["Kiribati","KIRB","KI"]
        self.iso_alpha_2_dict["KW"] = ["Kuwait","KUWAIT","KW"]
        self.iso_alpha_2_dict["KG"] = ["Kyrgyzstan","KIRGH","KG"]
        self.iso_alpha_2_dict["LA"] = ["Laos","LAOS","LA"]
        self.iso_alpha_2_dict["LV"] = ["Latvia","LATV","LV"]
        self.iso_alpha_2_dict["LB"] = ["Lebanon","LEBAN","LB"]
        self.iso_alpha_2_dict["LS"] = ["Lesotho","LESOT","LS"]
        self.iso_alpha_2_dict["LR"] = ["Liberia","LIBER","LR"]
        self.iso_alpha_2_dict["LY"] = ["Libya","LIBYA","LY"]
        self.iso_alpha_2_dict["LI"] = ["Liechtenstein","LIECHT","LI"]
        self.iso_alpha_2_dict["LT"] = ["Lithuania","LITH","LT"]
        self.iso_alpha_2_dict["LU"] = ["Luxembourg","LUX","LU"]
        self.iso_alpha_2_dict["MO"] = ["Macau","MACAO","MO"]
        self.iso_alpha_2_dict["MK"] = ["Macedonia","MCDNIA","MK"]
        self.iso_alpha_2_dict["MG"] = ["Madagascar","MALAG","MG"]
        self.iso_alpha_2_dict["MW"] = ["Malawi","MALAW","MW"]
        self.iso_alpha_2_dict["MY"] = ["Malaysia","MALAY","MY"]
        self.iso_alpha_2_dict["MV"] = ["Maldives","MALDR","MV"]
        self.iso_alpha_2_dict["ML"] = ["Mali","MALI","ML"]
        self.iso_alpha_2_dict["MT"] = ["Malta","MALTA","MT"]
        self.iso_alpha_2_dict["MH"] = ["Marshall Islands","MAH","MH"]
        self.iso_alpha_2_dict["MQ"] = ["Martinique","MARQ","MQ"]
        self.iso_alpha_2_dict["MR"] = ["Mauritania","MAURTN","MR"]
        self.iso_alpha_2_dict["MU"] = ["Mauritius","MAURTS","MU"]
        self.iso_alpha_2_dict["YT"] = ["Mayotte","MAYOT","YT"]
        self.iso_alpha_2_dict["MX"] = ["Mexico","MEX","MX"]
        self.iso_alpha_2_dict["FM"] = ["Micronesia","FESMIC","FM"]
        self.iso_alpha_2_dict["MD"] = ["Moldova","MOLDV","MD"]
        self.iso_alpha_2_dict["MC"] = ["Monaco","MONAC","MC"]
        self.iso_alpha_2_dict["MN"] = ["Mongolia","MONGLA","MN"]
        self.iso_alpha_2_dict["MS"] = ["Montserrat","MONT","MS"]
        self.iso_alpha_2_dict["MA"] = ["Morocco","MOROC","MA"]
        self.iso_alpha_2_dict["MZ"] = ["Mozambique","MOZAM","MZ"]
        self.iso_alpha_2_dict["MM"] = ["Myanmar","BURMA","MM"]
        self.iso_alpha_2_dict["NA"] = ["Namibia","NAMIB","NA"]
        self.iso_alpha_2_dict["NR"] = ["Nauru","NAURU","NR"]
        self.iso_alpha_2_dict["NP"] = ["Nepal","NEPAL","NP"]
        self.iso_alpha_2_dict["NL"] = ["Netherlands","NETH","NL"]
        self.iso_alpha_2_dict["CW"] = ["Curacao","NANT","CW"]
        self.iso_alpha_2_dict["NC"] = ["New Caledonia","NEWCAL","NC"]
        self.iso_alpha_2_dict["NZ"] = ["New Zealand","NZ","NZ"]
        self.iso_alpha_2_dict["NI"] = ["Nicaragua","NICG","NI"]
        self.iso_alpha_2_dict["NE"] = ["Niger","NIGER","NE"]
        self.iso_alpha_2_dict["NG"] = ["Nigeria","NIGEA","NG"]
        self.iso_alpha_2_dict["NU"] = ["Niue","NIUE","NU"]
        self.iso_alpha_2_dict["NF"] = ["Norfolk Island","NORFIS","NF"]
        self.iso_alpha_2_dict["KP"] = ["North Korea","NKOREA","KP"]
        self.iso_alpha_2_dict["MP"] = ["Northern Mariana Islands","NOMARI","MP"]
        self.iso_alpha_2_dict["NO"] = ["Norway","NORW","NO"]
        self.iso_alpha_2_dict["OM"] = ["Oman","OMAN","OM"]
        self.iso_alpha_2_dict["PK"] = ["Pakistan","PAKIS","PK"]
        self.iso_alpha_2_dict["PW"] = ["Palau","PALAU","PW"]
        self.iso_alpha_2_dict["PS"] = ["Palestine","PALEST","PS"]
        self.iso_alpha_2_dict["PA"] = ["Panama","PANA","PA"]
        self.iso_alpha_2_dict["PG"] = ["Papua New Guinea","PAPNG","PG"]
        self.iso_alpha_2_dict["PY"] = ["Paraguay","PARA","PY"]
        self.iso_alpha_2_dict["PE"] = ["Peru","PERU","PE"]
        self.iso_alpha_2_dict["PH"] = ["Philippines","PHLNS","PH"]
        self.iso_alpha_2_dict["PN"] = ["Pitcairn","PITCIS","PN"]
        self.iso_alpha_2_dict["PL"] = ["Poland","POL","PL"]
        self.iso_alpha_2_dict["PT"] = ["Portugal","PORL","PT"]
        self.iso_alpha_2_dict["PR"] = ["Puerto Rico","PURI","PR"]
        self.iso_alpha_2_dict["QA"] = ["Qatar","QATAR","QA"]
        self.iso_alpha_2_dict["RE"] = ["Reunion","REUNI","RE"]
        self.iso_alpha_2_dict["RO"] = ["Romania","ROM","RO"]
        self.iso_alpha_2_dict["RU"] = ["Russia","RUSS","RU"]
        self.iso_alpha_2_dict["RW"] = ["Rwanda","RWANDA","RW"]
        self.iso_alpha_2_dict["LC"] = ["Saint Lucia","SLUC","LC"]
        self.iso_alpha_2_dict["WS"] = ["Samoa","WSOMOA","WS"]
        self.iso_alpha_2_dict["SM"] = ["San Marino","SMARNO","SM"]
        self.iso_alpha_2_dict["ST"] = ["Sao Tome and Principe","PST","ST"]
        self.iso_alpha_2_dict["SA"] = ["Saudi Arabia","SAARAB","SA"]
        self.iso_alpha_2_dict["SN"] = ["Senegal","SENEG","SN"]
        self.iso_alpha_2_dict["SC"] = ["Seychelles","SEYCH","SC"]
        self.iso_alpha_2_dict["SL"] = ["Sierra Leone","SILEN","SL"]
        self.iso_alpha_2_dict["SG"] = ["Singapore","SINGP","SG"]
        self.iso_alpha_2_dict["SK"] = ["Slovakia","SLVAK","SK"]
        self.iso_alpha_2_dict["SI"] = ["Slovenia","SLVNIA","SI"]
        self.iso_alpha_2_dict["SB"] = ["Solomon Islands","SOLIL","SB"]
        self.iso_alpha_2_dict["SO"] = ["Somalia","SOMAL","SO"]
        self.iso_alpha_2_dict["ZA"] = ["South Africa","SAFR","ZA"]
        self.iso_alpha_2_dict["GS"] = ["South Georgia and South Sandwich Islands","SGSSI","GS"]
        self.iso_alpha_2_dict["KR"] = ["South Korea","SKOREA","KR"]
        self.iso_alpha_2_dict["ES"] = ["Spain","SPAIN","ES"]
        self.iso_alpha_2_dict["LK"] = ["Sri Lanka","SRILAN","LK"]
        self.iso_alpha_2_dict["SH"] = ["St. Helena","STHEL","SH"]
        self.iso_alpha_2_dict["KN"] = ["St. Kitts and Nevis","SKIT","KN"]
        self.iso_alpha_2_dict["MF"] = ["St. Martin","STMART","MF"]
        self.iso_alpha_2_dict["PM"] = ["St. Pierre and Miquelon","STPM","PM"]
        self.iso_alpha_2_dict["VC"] = ["St. Vincent and the Grenadines","SVIN","VC"]
        self.iso_alpha_2_dict["SD"] = ["Sudan","SUDAN","SD"]
        self.iso_alpha_2_dict["SR"] = ["Suriname","SURM","SR"]
        self.iso_alpha_2_dict["SJ"] = ["Svalbard and Jan Mayen Islands","SVALB","SJ"]
        self.iso_alpha_2_dict["SZ"] = ["Swaziland","SWAZD","SZ"]
        self.iso_alpha_2_dict["SE"] = ["Sweden","SWED","SE"]
        self.iso_alpha_2_dict["CH"] = ["Switzerland","SWITZ","CH"]
        self.iso_alpha_2_dict["SY"] = ["Syria","SYRIA","SY"]
        self.iso_alpha_2_dict["TW"] = ["Taiwan","TAIWAN","TW"]
        self.iso_alpha_2_dict["TJ"] = ["Tajikistan","TADZK","TJ"]
        self.iso_alpha_2_dict["TZ"] = ["Tanzania","TANZA","TZ"]
        self.iso_alpha_2_dict["TH"] = ["Thailand","THAIL","TH"]
        self.iso_alpha_2_dict["TG"] = ["Togo","TOGO","TG"]
        self.iso_alpha_2_dict["TK"] = ["Tokelau","TOKLAU","TK"]
        self.iso_alpha_2_dict["TO"] = ["Tonga","TONGA","TO"]
        self.iso_alpha_2_dict["TT"] = ["Trinidad and Tobago","TRTO","TT"]
        self.iso_alpha_2_dict["TN"] = ["Tunisia","TUNIS","TN"]
        self.iso_alpha_2_dict["TR"] = ["Turkey","TURK","TR"]
        self.iso_alpha_2_dict["TM"] = ["Turkmenistan","TURKM","TM"]
        self.iso_alpha_2_dict["TC"] = ["Turks and Caicos Islands","TCAI","TC"]
        self.iso_alpha_2_dict["TV"] = ["Tuvalu","TVLU","TV"]
        self.iso_alpha_2_dict["UG"] = ["Uganda","UGANDA","UG"]
        self.iso_alpha_2_dict["UA"] = ["Ukraine","UKRN","UA"]
        self.iso_alpha_2_dict["AE"] = ["United Arab Emirates","UAE","AE"]
        self.iso_alpha_2_dict["GB"] = ["United Kingdom","UK","GB"]
        self.iso_alpha_2_dict["US"] = ["United States","USA","US"]
        self.iso_alpha_2_dict["UY"] = ["Uruguay","URU","UY"]
        self.iso_alpha_2_dict["UZ"] = ["Uzbekistan","UZBK","UZ"]
        self.iso_alpha_2_dict["VU"] = ["Vanuatu","VANU","VU"]
        self.iso_alpha_2_dict["VA"] = ["Vatican City","VCAN","VA"]
        self.iso_alpha_2_dict["VE"] = ["Venezuela","VEN","VE"]
        self.iso_alpha_2_dict["VN"] = ["Vietnam","VIETN","VN"]
        self.iso_alpha_2_dict["WF"] = ["Wallis and Futuna Islands","WALLIS","WF"]
        self.iso_alpha_2_dict["EH"] = ["Western Sahara","SPSAH","EH"]
        self.iso_alpha_2_dict["YE"] = ["Yemen","YEMAR","YE"]
        self.iso_alpha_2_dict["RS"] = ["Serbia","YUG","RS"]
        self.iso_alpha_2_dict["ZM"] = ["Zambia","ZAMBIA","ZM"]
        self.iso_alpha_2_dict["ZW"] = ["Zimbabwe","ZIMBAB","ZW"]
        self.iso_alpha_2_dict["ME"] = ["Montenegro","MNTNG","ME"]
        self.iso_alpha_2_dict["VI"] = ["U.S. Virgin Islands","VI","VI"]
        self.iso_alpha_2_dict["BL"] = ["Saint Barthelemy","SBRTHY","BL"]
        self.iso_alpha_2_dict["GG"] = ["Guernsey","GUERN","GG"]
        self.iso_alpha_2_dict["IM"] = ["Isle of Man","ISLEOM","IM"]
        self.iso_alpha_2_dict["JE"] = ["Jersey","JERSEY","JE"]
        self.iso_alpha_2_dict["SX"] = ["St. Maarten","SINTMA","SX"]
        self.iso_alpha_2_dict["SS"] = ["South Sudan","SOUSUD","SS"]

        return self.iso_alpha_2_dict