/*
 * Copyright (C) 2010 The Libphonenumber Authors
 *
 * 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.android.server.appsearch.contactsindexer;

import android.util.ArrayMap;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * This file is copied from external/libphonenumber/repackaged/libphonenumber/src/com/android
 * /i18n/phonenumbers/CountryCodeToRegionCodeMap.java. With some changes to fix lint errors.
 *
 * @hide This class is not part of the Android public SDK API
 */
public class CountryCodeToRegionCodeMap {
    // A mapping from a country code to the region codes which denote the
    // country/region represented by that country code. In the case of multiple
    // countries sharing a calling code, such as the NANPA countries, the one
    // indicated with "isMainCountryForCode" in the metadata should be first.
    static Map<Integer, List<String>> getCountryCodeToRegionCodeMap() {
        // The capacity is set to 286 as there are 215 different entries,
        // and this offers a load factor of roughly 0.75.
        Map<Integer, List<String>> countryCodeToRegionCodeMap = new ArrayMap<>(286);

        ArrayList<String> listWithRegionCode;

        listWithRegionCode = new ArrayList<String>(25);
        listWithRegionCode.add("US");
        listWithRegionCode.add("AG");
        listWithRegionCode.add("AI");
        listWithRegionCode.add("AS");
        listWithRegionCode.add("BB");
        listWithRegionCode.add("BM");
        listWithRegionCode.add("BS");
        listWithRegionCode.add("CA");
        listWithRegionCode.add("DM");
        listWithRegionCode.add("DO");
        listWithRegionCode.add("GD");
        listWithRegionCode.add("GU");
        listWithRegionCode.add("JM");
        listWithRegionCode.add("KN");
        listWithRegionCode.add("KY");
        listWithRegionCode.add("LC");
        listWithRegionCode.add("MP");
        listWithRegionCode.add("MS");
        listWithRegionCode.add("PR");
        listWithRegionCode.add("SX");
        listWithRegionCode.add("TC");
        listWithRegionCode.add("TT");
        listWithRegionCode.add("VC");
        listWithRegionCode.add("VG");
        listWithRegionCode.add("VI");
        countryCodeToRegionCodeMap.put(1, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("RU");
        listWithRegionCode.add("KZ");
        countryCodeToRegionCodeMap.put(7, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("EG");
        countryCodeToRegionCodeMap.put(20, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ZA");
        countryCodeToRegionCodeMap.put(27, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GR");
        countryCodeToRegionCodeMap.put(30, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NL");
        countryCodeToRegionCodeMap.put(31, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BE");
        countryCodeToRegionCodeMap.put(32, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("FR");
        countryCodeToRegionCodeMap.put(33, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ES");
        countryCodeToRegionCodeMap.put(34, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("HU");
        countryCodeToRegionCodeMap.put(36, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("IT");
        listWithRegionCode.add("VA");
        countryCodeToRegionCodeMap.put(39, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("RO");
        countryCodeToRegionCodeMap.put(40, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CH");
        countryCodeToRegionCodeMap.put(41, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AT");
        countryCodeToRegionCodeMap.put(43, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(4);
        listWithRegionCode.add("GB");
        listWithRegionCode.add("GG");
        listWithRegionCode.add("IM");
        listWithRegionCode.add("JE");
        countryCodeToRegionCodeMap.put(44, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("DK");
        countryCodeToRegionCodeMap.put(45, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SE");
        countryCodeToRegionCodeMap.put(46, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("NO");
        listWithRegionCode.add("SJ");
        countryCodeToRegionCodeMap.put(47, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PL");
        countryCodeToRegionCodeMap.put(48, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("DE");
        countryCodeToRegionCodeMap.put(49, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PE");
        countryCodeToRegionCodeMap.put(51, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MX");
        countryCodeToRegionCodeMap.put(52, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CU");
        countryCodeToRegionCodeMap.put(53, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AR");
        countryCodeToRegionCodeMap.put(54, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BR");
        countryCodeToRegionCodeMap.put(55, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CL");
        countryCodeToRegionCodeMap.put(56, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CO");
        countryCodeToRegionCodeMap.put(57, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("VE");
        countryCodeToRegionCodeMap.put(58, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MY");
        countryCodeToRegionCodeMap.put(60, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(3);
        listWithRegionCode.add("AU");
        listWithRegionCode.add("CC");
        listWithRegionCode.add("CX");
        countryCodeToRegionCodeMap.put(61, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ID");
        countryCodeToRegionCodeMap.put(62, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PH");
        countryCodeToRegionCodeMap.put(63, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NZ");
        countryCodeToRegionCodeMap.put(64, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SG");
        countryCodeToRegionCodeMap.put(65, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TH");
        countryCodeToRegionCodeMap.put(66, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("JP");
        countryCodeToRegionCodeMap.put(81, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KR");
        countryCodeToRegionCodeMap.put(82, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("VN");
        countryCodeToRegionCodeMap.put(84, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CN");
        countryCodeToRegionCodeMap.put(86, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TR");
        countryCodeToRegionCodeMap.put(90, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IN");
        countryCodeToRegionCodeMap.put(91, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PK");
        countryCodeToRegionCodeMap.put(92, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AF");
        countryCodeToRegionCodeMap.put(93, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LK");
        countryCodeToRegionCodeMap.put(94, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MM");
        countryCodeToRegionCodeMap.put(95, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IR");
        countryCodeToRegionCodeMap.put(98, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SS");
        countryCodeToRegionCodeMap.put(211, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("MA");
        listWithRegionCode.add("EH");
        countryCodeToRegionCodeMap.put(212, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("DZ");
        countryCodeToRegionCodeMap.put(213, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TN");
        countryCodeToRegionCodeMap.put(216, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LY");
        countryCodeToRegionCodeMap.put(218, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GM");
        countryCodeToRegionCodeMap.put(220, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SN");
        countryCodeToRegionCodeMap.put(221, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MR");
        countryCodeToRegionCodeMap.put(222, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ML");
        countryCodeToRegionCodeMap.put(223, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GN");
        countryCodeToRegionCodeMap.put(224, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CI");
        countryCodeToRegionCodeMap.put(225, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BF");
        countryCodeToRegionCodeMap.put(226, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NE");
        countryCodeToRegionCodeMap.put(227, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TG");
        countryCodeToRegionCodeMap.put(228, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BJ");
        countryCodeToRegionCodeMap.put(229, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MU");
        countryCodeToRegionCodeMap.put(230, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LR");
        countryCodeToRegionCodeMap.put(231, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SL");
        countryCodeToRegionCodeMap.put(232, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GH");
        countryCodeToRegionCodeMap.put(233, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NG");
        countryCodeToRegionCodeMap.put(234, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TD");
        countryCodeToRegionCodeMap.put(235, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CF");
        countryCodeToRegionCodeMap.put(236, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CM");
        countryCodeToRegionCodeMap.put(237, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CV");
        countryCodeToRegionCodeMap.put(238, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ST");
        countryCodeToRegionCodeMap.put(239, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GQ");
        countryCodeToRegionCodeMap.put(240, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GA");
        countryCodeToRegionCodeMap.put(241, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CG");
        countryCodeToRegionCodeMap.put(242, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CD");
        countryCodeToRegionCodeMap.put(243, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AO");
        countryCodeToRegionCodeMap.put(244, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GW");
        countryCodeToRegionCodeMap.put(245, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IO");
        countryCodeToRegionCodeMap.put(246, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AC");
        countryCodeToRegionCodeMap.put(247, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SC");
        countryCodeToRegionCodeMap.put(248, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SD");
        countryCodeToRegionCodeMap.put(249, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("RW");
        countryCodeToRegionCodeMap.put(250, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ET");
        countryCodeToRegionCodeMap.put(251, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SO");
        countryCodeToRegionCodeMap.put(252, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("DJ");
        countryCodeToRegionCodeMap.put(253, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KE");
        countryCodeToRegionCodeMap.put(254, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TZ");
        countryCodeToRegionCodeMap.put(255, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("UG");
        countryCodeToRegionCodeMap.put(256, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BI");
        countryCodeToRegionCodeMap.put(257, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MZ");
        countryCodeToRegionCodeMap.put(258, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ZM");
        countryCodeToRegionCodeMap.put(260, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MG");
        countryCodeToRegionCodeMap.put(261, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("RE");
        listWithRegionCode.add("YT");
        countryCodeToRegionCodeMap.put(262, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ZW");
        countryCodeToRegionCodeMap.put(263, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NA");
        countryCodeToRegionCodeMap.put(264, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MW");
        countryCodeToRegionCodeMap.put(265, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LS");
        countryCodeToRegionCodeMap.put(266, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BW");
        countryCodeToRegionCodeMap.put(267, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SZ");
        countryCodeToRegionCodeMap.put(268, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KM");
        countryCodeToRegionCodeMap.put(269, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("SH");
        listWithRegionCode.add("TA");
        countryCodeToRegionCodeMap.put(290, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ER");
        countryCodeToRegionCodeMap.put(291, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AW");
        countryCodeToRegionCodeMap.put(297, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("FO");
        countryCodeToRegionCodeMap.put(298, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GL");
        countryCodeToRegionCodeMap.put(299, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GI");
        countryCodeToRegionCodeMap.put(350, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PT");
        countryCodeToRegionCodeMap.put(351, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LU");
        countryCodeToRegionCodeMap.put(352, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IE");
        countryCodeToRegionCodeMap.put(353, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IS");
        countryCodeToRegionCodeMap.put(354, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AL");
        countryCodeToRegionCodeMap.put(355, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MT");
        countryCodeToRegionCodeMap.put(356, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CY");
        countryCodeToRegionCodeMap.put(357, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("FI");
        listWithRegionCode.add("AX");
        countryCodeToRegionCodeMap.put(358, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BG");
        countryCodeToRegionCodeMap.put(359, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LT");
        countryCodeToRegionCodeMap.put(370, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LV");
        countryCodeToRegionCodeMap.put(371, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("EE");
        countryCodeToRegionCodeMap.put(372, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MD");
        countryCodeToRegionCodeMap.put(373, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AM");
        countryCodeToRegionCodeMap.put(374, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BY");
        countryCodeToRegionCodeMap.put(375, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AD");
        countryCodeToRegionCodeMap.put(376, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MC");
        countryCodeToRegionCodeMap.put(377, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SM");
        countryCodeToRegionCodeMap.put(378, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("UA");
        countryCodeToRegionCodeMap.put(380, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("RS");
        countryCodeToRegionCodeMap.put(381, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("ME");
        countryCodeToRegionCodeMap.put(382, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("XK");
        countryCodeToRegionCodeMap.put(383, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("HR");
        countryCodeToRegionCodeMap.put(385, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SI");
        countryCodeToRegionCodeMap.put(386, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BA");
        countryCodeToRegionCodeMap.put(387, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MK");
        countryCodeToRegionCodeMap.put(389, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CZ");
        countryCodeToRegionCodeMap.put(420, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SK");
        countryCodeToRegionCodeMap.put(421, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LI");
        countryCodeToRegionCodeMap.put(423, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("FK");
        countryCodeToRegionCodeMap.put(500, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BZ");
        countryCodeToRegionCodeMap.put(501, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GT");
        countryCodeToRegionCodeMap.put(502, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SV");
        countryCodeToRegionCodeMap.put(503, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("HN");
        countryCodeToRegionCodeMap.put(504, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NI");
        countryCodeToRegionCodeMap.put(505, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CR");
        countryCodeToRegionCodeMap.put(506, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PA");
        countryCodeToRegionCodeMap.put(507, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PM");
        countryCodeToRegionCodeMap.put(508, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("HT");
        countryCodeToRegionCodeMap.put(509, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(3);
        listWithRegionCode.add("GP");
        listWithRegionCode.add("BL");
        listWithRegionCode.add("MF");
        countryCodeToRegionCodeMap.put(590, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BO");
        countryCodeToRegionCodeMap.put(591, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GY");
        countryCodeToRegionCodeMap.put(592, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("EC");
        countryCodeToRegionCodeMap.put(593, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GF");
        countryCodeToRegionCodeMap.put(594, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PY");
        countryCodeToRegionCodeMap.put(595, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MQ");
        countryCodeToRegionCodeMap.put(596, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SR");
        countryCodeToRegionCodeMap.put(597, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("UY");
        countryCodeToRegionCodeMap.put(598, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(2);
        listWithRegionCode.add("CW");
        listWithRegionCode.add("BQ");
        countryCodeToRegionCodeMap.put(599, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TL");
        countryCodeToRegionCodeMap.put(670, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NF");
        countryCodeToRegionCodeMap.put(672, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BN");
        countryCodeToRegionCodeMap.put(673, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NR");
        countryCodeToRegionCodeMap.put(674, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PG");
        countryCodeToRegionCodeMap.put(675, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TO");
        countryCodeToRegionCodeMap.put(676, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SB");
        countryCodeToRegionCodeMap.put(677, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("VU");
        countryCodeToRegionCodeMap.put(678, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("FJ");
        countryCodeToRegionCodeMap.put(679, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PW");
        countryCodeToRegionCodeMap.put(680, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("WF");
        countryCodeToRegionCodeMap.put(681, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("CK");
        countryCodeToRegionCodeMap.put(682, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NU");
        countryCodeToRegionCodeMap.put(683, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("WS");
        countryCodeToRegionCodeMap.put(685, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KI");
        countryCodeToRegionCodeMap.put(686, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NC");
        countryCodeToRegionCodeMap.put(687, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TV");
        countryCodeToRegionCodeMap.put(688, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PF");
        countryCodeToRegionCodeMap.put(689, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TK");
        countryCodeToRegionCodeMap.put(690, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("FM");
        countryCodeToRegionCodeMap.put(691, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MH");
        countryCodeToRegionCodeMap.put(692, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(800, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(808, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KP");
        countryCodeToRegionCodeMap.put(850, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("HK");
        countryCodeToRegionCodeMap.put(852, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MO");
        countryCodeToRegionCodeMap.put(853, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KH");
        countryCodeToRegionCodeMap.put(855, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LA");
        countryCodeToRegionCodeMap.put(856, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(870, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(878, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BD");
        countryCodeToRegionCodeMap.put(880, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(881, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(882, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(883, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TW");
        countryCodeToRegionCodeMap.put(886, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(888, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MV");
        countryCodeToRegionCodeMap.put(960, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("LB");
        countryCodeToRegionCodeMap.put(961, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("JO");
        countryCodeToRegionCodeMap.put(962, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SY");
        countryCodeToRegionCodeMap.put(963, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IQ");
        countryCodeToRegionCodeMap.put(964, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KW");
        countryCodeToRegionCodeMap.put(965, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("SA");
        countryCodeToRegionCodeMap.put(966, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("YE");
        countryCodeToRegionCodeMap.put(967, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("OM");
        countryCodeToRegionCodeMap.put(968, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("PS");
        countryCodeToRegionCodeMap.put(970, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AE");
        countryCodeToRegionCodeMap.put(971, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("IL");
        countryCodeToRegionCodeMap.put(972, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BH");
        countryCodeToRegionCodeMap.put(973, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("QA");
        countryCodeToRegionCodeMap.put(974, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("BT");
        countryCodeToRegionCodeMap.put(975, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("MN");
        countryCodeToRegionCodeMap.put(976, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("NP");
        countryCodeToRegionCodeMap.put(977, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("001");
        countryCodeToRegionCodeMap.put(979, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TJ");
        countryCodeToRegionCodeMap.put(992, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("TM");
        countryCodeToRegionCodeMap.put(993, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("AZ");
        countryCodeToRegionCodeMap.put(994, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("GE");
        countryCodeToRegionCodeMap.put(995, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("KG");
        countryCodeToRegionCodeMap.put(996, listWithRegionCode);

        listWithRegionCode = new ArrayList<String>(1);
        listWithRegionCode.add("UZ");
        countryCodeToRegionCodeMap.put(998, listWithRegionCode);

        return countryCodeToRegionCodeMap;
    }
}
