openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
9,784 lines • 216 kB
JavaScript
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/metadata.min.json.js
var metadata_min_json_default = {
"version": 4,
"country_calling_codes": {
"1": [
"US",
"AG",
"AI",
"AS",
"BB",
"BM",
"BS",
"CA",
"DM",
"DO",
"GD",
"GU",
"JM",
"KN",
"KY",
"LC",
"MP",
"MS",
"PR",
"SX",
"TC",
"TT",
"VC",
"VG",
"VI"
],
"7": ["RU", "KZ"],
"20": ["EG"],
"27": ["ZA"],
"30": ["GR"],
"31": ["NL"],
"32": ["BE"],
"33": ["FR"],
"34": ["ES"],
"36": ["HU"],
"39": ["IT", "VA"],
"40": ["RO"],
"41": ["CH"],
"43": ["AT"],
"44": [
"GB",
"GG",
"IM",
"JE"
],
"45": ["DK"],
"46": ["SE"],
"47": ["NO", "SJ"],
"48": ["PL"],
"49": ["DE"],
"51": ["PE"],
"52": ["MX"],
"53": ["CU"],
"54": ["AR"],
"55": ["BR"],
"56": ["CL"],
"57": ["CO"],
"58": ["VE"],
"60": ["MY"],
"61": [
"AU",
"CC",
"CX"
],
"62": ["ID"],
"63": ["PH"],
"64": ["NZ"],
"65": ["SG"],
"66": ["TH"],
"81": ["JP"],
"82": ["KR"],
"84": ["VN"],
"86": ["CN"],
"90": ["TR"],
"91": ["IN"],
"92": ["PK"],
"93": ["AF"],
"94": ["LK"],
"95": ["MM"],
"98": ["IR"],
"211": ["SS"],
"212": ["MA", "EH"],
"213": ["DZ"],
"216": ["TN"],
"218": ["LY"],
"220": ["GM"],
"221": ["SN"],
"222": ["MR"],
"223": ["ML"],
"224": ["GN"],
"225": ["CI"],
"226": ["BF"],
"227": ["NE"],
"228": ["TG"],
"229": ["BJ"],
"230": ["MU"],
"231": ["LR"],
"232": ["SL"],
"233": ["GH"],
"234": ["NG"],
"235": ["TD"],
"236": ["CF"],
"237": ["CM"],
"238": ["CV"],
"239": ["ST"],
"240": ["GQ"],
"241": ["GA"],
"242": ["CG"],
"243": ["CD"],
"244": ["AO"],
"245": ["GW"],
"246": ["IO"],
"247": ["AC"],
"248": ["SC"],
"249": ["SD"],
"250": ["RW"],
"251": ["ET"],
"252": ["SO"],
"253": ["DJ"],
"254": ["KE"],
"255": ["TZ"],
"256": ["UG"],
"257": ["BI"],
"258": ["MZ"],
"260": ["ZM"],
"261": ["MG"],
"262": ["RE", "YT"],
"263": ["ZW"],
"264": ["NA"],
"265": ["MW"],
"266": ["LS"],
"267": ["BW"],
"268": ["SZ"],
"269": ["KM"],
"290": ["SH", "TA"],
"291": ["ER"],
"297": ["AW"],
"298": ["FO"],
"299": ["GL"],
"350": ["GI"],
"351": ["PT"],
"352": ["LU"],
"353": ["IE"],
"354": ["IS"],
"355": ["AL"],
"356": ["MT"],
"357": ["CY"],
"358": ["FI", "AX"],
"359": ["BG"],
"370": ["LT"],
"371": ["LV"],
"372": ["EE"],
"373": ["MD"],
"374": ["AM"],
"375": ["BY"],
"376": ["AD"],
"377": ["MC"],
"378": ["SM"],
"380": ["UA"],
"381": ["RS"],
"382": ["ME"],
"383": ["XK"],
"385": ["HR"],
"386": ["SI"],
"387": ["BA"],
"389": ["MK"],
"420": ["CZ"],
"421": ["SK"],
"423": ["LI"],
"500": ["FK"],
"501": ["BZ"],
"502": ["GT"],
"503": ["SV"],
"504": ["HN"],
"505": ["NI"],
"506": ["CR"],
"507": ["PA"],
"508": ["PM"],
"509": ["HT"],
"590": [
"GP",
"BL",
"MF"
],
"591": ["BO"],
"592": ["GY"],
"593": ["EC"],
"594": ["GF"],
"595": ["PY"],
"596": ["MQ"],
"597": ["SR"],
"598": ["UY"],
"599": ["CW", "BQ"],
"670": ["TL"],
"672": ["NF"],
"673": ["BN"],
"674": ["NR"],
"675": ["PG"],
"676": ["TO"],
"677": ["SB"],
"678": ["VU"],
"679": ["FJ"],
"680": ["PW"],
"681": ["WF"],
"682": ["CK"],
"683": ["NU"],
"685": ["WS"],
"686": ["KI"],
"687": ["NC"],
"688": ["TV"],
"689": ["PF"],
"690": ["TK"],
"691": ["FM"],
"692": ["MH"],
"850": ["KP"],
"852": ["HK"],
"853": ["MO"],
"855": ["KH"],
"856": ["LA"],
"880": ["BD"],
"886": ["TW"],
"960": ["MV"],
"961": ["LB"],
"962": ["JO"],
"963": ["SY"],
"964": ["IQ"],
"965": ["KW"],
"966": ["SA"],
"967": ["YE"],
"968": ["OM"],
"970": ["PS"],
"971": ["AE"],
"972": ["IL"],
"973": ["BH"],
"974": ["QA"],
"975": ["BT"],
"976": ["MN"],
"977": ["NP"],
"992": ["TJ"],
"993": ["TM"],
"994": ["AZ"],
"995": ["GE"],
"996": ["KG"],
"998": ["UZ"]
},
"countries": {
"AC": [
"247",
"00",
"(?:[01589]\\d|[2-467])\\d{4}",
[5, 6]
],
"AD": [
"376",
"00",
"(?:1|6\\d)\\d{7}|[135-9]\\d{5}",
[
6,
8,
9
],
[
[
"(\\d{3})(\\d{3})",
"$1 $2",
["[135-9]"]
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["1"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["6"]
]
]
],
"AE": [
"971",
"00",
"(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",
[
5,
6,
7,
8,
9,
10,
11,
12
],
[
[
"(\\d{3})(\\d{2,9})",
"$1 $2",
["60|8"]
],
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["[236]|[479][2-8]"],
"0$1"
],
[
"(\\d{3})(\\d)(\\d{5})",
"$1 $2 $3",
["[479]"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["5"],
"0$1"
]
],
"0"
],
"AF": [
"93",
"00",
"[2-7]\\d{8}",
[9],
[[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2-7]"],
"0$1"
]],
"0"
],
"AG": [
"1",
"011",
"(?:268|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([457]\\d{6})$|1",
"268$1",
0,
"268"
],
"AI": [
"1",
"011",
"(?:264|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2457]\\d{6})$|1",
"264$1",
0,
"264"
],
"AL": [
"355",
"00",
"(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",
[
6,
7,
8,
9
],
[
[
"(\\d{3})(\\d{3,4})",
"$1 $2",
["80|9"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["4[2-6]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2358][2-5]|4"],
"0$1"
],
[
"(\\d{3})(\\d{5})",
"$1 $2",
["[23578]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["6"],
"0$1"
]
],
"0"
],
"AM": [
"374",
"00",
"(?:[1-489]\\d|55|60|77)\\d{6}",
[8],
[
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["[89]0"],
"0 $1"
],
[
"(\\d{3})(\\d{5})",
"$1 $2",
["2|3[12]"],
"(0$1)"
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["1|47"],
"(0$1)"
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["[3-9]"],
"0$1"
]
],
"0"
],
"AO": [
"244",
"00",
"[29]\\d{8}",
[9],
[[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[29]"]
]]
],
"AR": [
"54",
"00",
"(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",
[10, 11],
[
[
"(\\d{4})(\\d{2})(\\d{4})",
"$1 $2-$3",
[
"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])",
"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"
],
"0$1",
1
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2-$3",
["1"],
"0$1",
1
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1-$2-$3",
["[68]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2-$3",
["[23]"],
"0$1",
1
],
[
"(\\d)(\\d{4})(\\d{2})(\\d{4})",
"$2 15-$3-$4",
[
"9(?:2[2-469]|3[3-578])",
"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))",
"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"
],
"0$1",
0,
"$1 $2 $3-$4"
],
[
"(\\d)(\\d{2})(\\d{4})(\\d{4})",
"$2 15-$3-$4",
["91"],
"0$1",
0,
"$1 $2 $3-$4"
],
[
"(\\d{3})(\\d{3})(\\d{5})",
"$1-$2-$3",
["8"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{3})(\\d{4})",
"$2 15-$3-$4",
["9"],
"0$1",
0,
"$1 $2 $3-$4"
]
],
"0",
0,
"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?",
"9$1"
],
"AS": [
"1",
"011",
"(?:[58]\\d\\d|684|900)\\d{7}",
[10],
0,
"1",
0,
"([267]\\d{6})$|1",
"684$1",
0,
"684"
],
"AT": [
"43",
"00",
"1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",
[
4,
5,
6,
7,
8,
9,
10,
11,
12,
13
],
[
[
"(\\d)(\\d{3,12})",
"$1 $2",
["1(?:11|[2-9])"],
"0$1"
],
[
"(\\d{3})(\\d{2})",
"$1 $2",
["517"],
"0$1"
],
[
"(\\d{2})(\\d{3,5})",
"$1 $2",
["5[079]"],
"0$1"
],
[
"(\\d{3})(\\d{3,10})",
"$1 $2",
["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],
"0$1"
],
[
"(\\d{4})(\\d{3,9})",
"$1 $2",
["[2-467]|5[2-6]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["5"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4,7})",
"$1 $2 $3",
["5"],
"0$1"
]
],
"0"
],
"AU": [
"61",
"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011",
"1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",
[
5,
6,
7,
8,
9,
10,
12
],
[
[
"(\\d{2})(\\d{3,4})",
"$1 $2",
["16"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2,4})",
"$1 $2 $3",
["16"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["14|4"],
"0$1"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["[2378]"],
"(0$1)"
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["1(?:30|[89])"]
]
],
"0",
0,
"(183[12])|0",
0,
0,
0,
[
["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]],
["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]],
["180(?:0\\d{3}|2)\\d{3}", [7, 10]],
["190[0-26]\\d{6}", [10]],
0,
0,
0,
["163\\d{2,6}", [
5,
6,
7,
8,
9
]],
["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]],
["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [
6,
8,
10,
12
]]
],
"0011"
],
"AW": [
"297",
"00",
"(?:[25-79]\\d\\d|800)\\d{4}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[25-9]"]
]]
],
"AX": [
"358",
"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))",
"2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",
[
5,
6,
7,
8,
9,
10,
11,
12
],
0,
"0",
0,
0,
0,
0,
"18",
0,
"00"
],
"AZ": [
"994",
"00",
"365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",
[9],
[
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["90"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
[
"1[28]|2|365|46",
"1[28]|2|365[45]|46",
"1[28]|2|365(?:4|5[02])|46"
],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[13-9]"],
"0$1"
]
],
"0"
],
"BA": [
"387",
"00",
"6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",
[8, 9],
[
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["6[1-3]|[7-9]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2-$3",
["[3-5]|6[56]"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3 $4",
["6"],
"0$1"
]
],
"0"
],
"BB": [
"1",
"011",
"(?:246|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"246$1",
0,
"246"
],
"BD": [
"880",
"00",
"[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",
[
6,
7,
8,
9,
10
],
[
[
"(\\d{2})(\\d{4,6})",
"$1-$2",
["31[5-8]|[459]1"],
"0$1"
],
[
"(\\d{3})(\\d{3,7})",
"$1-$2",
["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],
"0$1"
],
[
"(\\d{4})(\\d{3,6})",
"$1-$2",
["[13-9]|2[23]"],
"0$1"
],
[
"(\\d)(\\d{7,8})",
"$1-$2",
["2"],
"0$1"
]
],
"0"
],
"BE": [
"32",
"00",
"4\\d{8}|[1-9]\\d{7}",
[8, 9],
[
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["(?:80|9)0"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[239]|4[23]"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[15-8]"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["4"],
"0$1"
]
],
"0"
],
"BF": [
"226",
"00",
"[024-7]\\d{7}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[024-7]"]
]]
],
"BG": [
"359",
"00",
"00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",
[
6,
7,
8,
9,
12
],
[
[
"(\\d)(\\d)(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["2"],
"0$1"
],
[
"(\\d{3})(\\d{4})",
"$1 $2",
["43[1-6]|70[1-9]"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["2"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2,3})",
"$1 $2 $3",
["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["(?:70|8)0"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{2})",
"$1 $2 $3",
["43[1-7]|7"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[48]|9[08]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["9"],
"0$1"
]
],
"0"
],
"BH": [
"973",
"00",
"[136-9]\\d{7}",
[8],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[13679]|8[02-4679]"]
]]
],
"BI": [
"257",
"00",
"(?:[267]\\d|31)\\d{6}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[2367]"]
]]
],
"BJ": [
"229",
"00",
"(?:01\\d|8)\\d{7}",
[8, 10],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"]
], [
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4 $5",
["0"]
]]
],
"BL": [
"590",
"00",
"7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}",
[9],
0,
"0",
0,
0,
0,
0,
0,
[
["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"],
["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"],
["80[0-5]\\d{6}"],
["8[129]\\d{7}"],
0,
0,
0,
0,
["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]
]
],
"BM": [
"1",
"011",
"(?:441|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"441$1",
0,
"441"
],
"BN": [
"673",
"00",
"[2-578]\\d{6}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[2-578]"]
]]
],
"BO": [
"591",
"00(?:1\\d)?",
"(?:[2-7]\\d\\d|8001)\\d{5}",
[8, 9],
[
[
"(\\d)(\\d{7})",
"$1 $2",
["[23]|4[46]|50"]
],
[
"(\\d{8})",
"$1",
["[5-7]"]
],
[
"(\\d{3})(\\d{2})(\\d{4})",
"$1 $2 $3",
["8"]
]
],
"0",
0,
"0(1\\d)?"
],
"BQ": [
"599",
"00",
"(?:[34]1|7\\d)\\d{5}",
[7],
0,
0,
0,
0,
0,
0,
"[347]"
],
"BR": [
"55",
"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)",
"[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}",
[
8,
9,
10,
11
],
[
[
"(\\d{4})(\\d{4})",
"$1-$2",
["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]
],
[
"(\\d{3})(\\d{2,3})(\\d{4})",
"$1 $2 $3",
["(?:[358]|90)0"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2-$3",
["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],
"($1)"
],
[
"(\\d{2})(\\d{5})(\\d{4})",
"$1 $2-$3",
["[16][1-9]|[2-57-9]"],
"($1)"
]
],
"0",
0,
"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?",
"$2"
],
"BS": [
"1",
"011",
"(?:242|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([3-8]\\d{6})$|1",
"242$1",
0,
"242"
],
"BT": [
"975",
"00",
"[178]\\d{7}|[2-8]\\d{6}",
[7, 8],
[[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2-6]|7[246]|8[2-4]"]
], [
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["1[67]|[78]"]
]]
],
"BW": [
"267",
"00",
"(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",
[
7,
8,
10
],
[
[
"(\\d{2})(\\d{5})",
"$1 $2",
["90"]
],
[
"(\\d{3})(\\d{4})",
"$1 $2",
["[24-6]|3[15-9]"]
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[37]"]
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["0"]
],
[
"(\\d{3})(\\d{4})(\\d{3})",
"$1 $2 $3",
["8"]
]
]
],
"BY": [
"375",
"810",
"(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",
[
6,
7,
8,
9,
10,
11
],
[
[
"(\\d{3})(\\d{3})",
"$1 $2",
["800"],
"8 $1"
],
[
"(\\d{3})(\\d{2})(\\d{2,4})",
"$1 $2 $3",
["800"],
"8 $1"
],
[
"(\\d{4})(\\d{2})(\\d{3})",
"$1 $2-$3",
["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],
"8 0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2-$3-$4",
["1(?:[56]|7[467])|2[1-3]"],
"8 0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2-$3-$4",
["[1-4]"],
"8 0$1"
],
[
"(\\d{3})(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["[89]"],
"8 $1"
]
],
"8",
0,
"0|80?",
0,
0,
0,
0,
"8~10"
],
"BZ": [
"501",
"00",
"(?:0800\\d|[2-8])\\d{6}",
[7, 11],
[[
"(\\d{3})(\\d{4})",
"$1-$2",
["[2-8]"]
], [
"(\\d)(\\d{3})(\\d{4})(\\d{3})",
"$1-$2-$3-$4",
["0"]
]]
],
"CA": [
"1",
"011",
"[2-9]\\d{9}|3\\d{6}",
[7, 10],
0,
"1",
0,
0,
0,
0,
0,
[
["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]],
["", [10]],
["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]],
["900[2-9]\\d{6}", [10]],
["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]],
0,
["310\\d{4}", [7]],
0,
["600[2-9]\\d{6}", [10]]
]
],
"CC": [
"61",
"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011",
"1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",
[
6,
7,
8,
9,
10,
12
],
0,
"0",
0,
"([59]\\d{7})$|0",
"8$1",
0,
0,
[
["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]],
["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]],
["180(?:0\\d{3}|2)\\d{3}", [7, 10]],
["190[0-26]\\d{6}", [10]],
0,
0,
0,
0,
["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]],
["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [
6,
8,
10,
12
]]
],
"0011"
],
"CD": [
"243",
"00",
"(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}",
[
7,
8,
9,
10
],
[
[
"(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3",
["88"],
"0$1"
],
[
"(\\d{2})(\\d{5})",
"$1 $2",
["[1-6]"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3",
["2"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[89]"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["5"],
"0$1"
]
],
"0"
],
"CF": [
"236",
"00",
"8776\\d{4}|(?:[27]\\d|61)\\d{6}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[26-8]"]
]]
],
"CG": [
"242",
"00",
"222\\d{6}|(?:0\\d|80)\\d{7}",
[9],
[[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["8"]
], [
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[02]"]
]]
],
"CH": [
"41",
"00",
"8\\d{11}|[2-9]\\d{8}",
[9, 12],
[
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8[047]|90"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[2-79]|81"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4 $5",
["8"],
"0$1"
]
],
"0"
],
"CI": [
"225",
"00",
"[02]\\d{9}",
[10],
[[
"(\\d{2})(\\d{2})(\\d)(\\d{5})",
"$1 $2 $3 $4",
["2"]
], [
"(\\d{2})(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3 $4",
["0"]
]]
],
"CK": [
"682",
"00",
"[2-578]\\d{4}",
[5],
[[
"(\\d{2})(\\d{3})",
"$1 $2",
["[2-578]"]
]]
],
"CL": [
"56",
"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0",
"12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",
[
9,
10,
11
],
[
[
"(\\d{5})(\\d{4})",
"$1 $2",
["219", "2196"],
"($1)"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["60|809"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["44"]
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["2[1-36]"],
"($1)"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["9(?:10|[2-9])"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"],
"($1)"
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["60|8"]
],
[
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"]
],
[
"(\\d{3})(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3 $4",
["60"]
]
]
],
"CM": [
"237",
"00",
"[26]\\d{8}|88\\d{6,7}",
[8, 9],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["88"]
], [
"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4 $5",
["[26]|88"]
]]
],
"CN": [
"86",
"00|1(?:[12]\\d|79)\\d\\d00",
"(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}",
[
7,
8,
9,
10,
11,
12
],
[
[
"(\\d{2})(\\d{5,6})",
"$1 $2",
[
"(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]",
"(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1",
"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12",
"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123",
"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"
],
"0$1"
],
[
"(\\d{3})(\\d{5,6})",
"$1 $2",
[
"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]",
"(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]",
"85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])",
"85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"
],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["(?:4|80)0"]
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
[
"10|2(?:[02-57-9]|1[1-9])",
"10|2(?:[02-57-9]|1[1-9])",
"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"
],
"0$1",
1
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],
"0$1",
1
],
[
"(\\d{3})(\\d{7,8})",
"$1 $2",
["9"]
],
[
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["80"],
"0$1",
1
],
[
"(\\d{3})(\\d{4})(\\d{4})",
"$1 $2 $3",
["[3-578]"],
"0$1",
1
],
[
"(\\d{3})(\\d{4})(\\d{4})",
"$1 $2 $3",
["1[3-9]"]
],
[
"(\\d{2})(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3 $4",
["[12]"],
"0$1",
1
]
],
"0",
0,
"(1(?:[12]\\d|79)\\d\\d)|0",
0,
0,
0,
0,
"00"
],
"CO": [
"57",
"00(?:4(?:[14]4|56)|[579])",
"(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}",
[
8,
10,
11
],
[
[
"(\\d{4})(\\d{4})",
"$1 $2",
["46"]
],
[
"(\\d{3})(\\d{7})",
"$1 $2",
["6|90"],
"($1)"
],
[
"(\\d{3})(\\d{7})",
"$1 $2",
["3[0-357]|9[14]"]
],
[
"(\\d)(\\d{3})(\\d{7})",
"$1-$2-$3",
["1"],
"0$1",
0,
"$1 $2 $3"
]
],
"0",
0,
"0([3579]|4(?:[14]4|56))?"
],
"CR": [
"506",
"00",
"(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",
[8, 10],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[2-7]|8[3-9]"]
], [
"(\\d{3})(\\d{3})(\\d{4})",
"$1-$2-$3",
["[89]"]
]],
0,
0,
"(19(?:0[0-2468]|1[09]|20|66|77|99))"
],
"CU": [
"53",
"119",
"(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}",
[
6,
7,
8,
10
],
[
[
"(\\d{2})(\\d{4,6})",
"$1 $2",
["2[1-4]|[34]"],
"(0$1)"
],
[
"(\\d)(\\d{6,7})",
"$1 $2",
["7"],
"(0$1)"
],
[
"(\\d)(\\d{7})",
"$1 $2",
["[56]"],
"0$1"
],
[
"(\\d{3})(\\d{7})",
"$1 $2",
["8"],
"0$1"
]
],
"0"
],
"CV": [
"238",
"0",
"(?:[2-59]\\d\\d|800)\\d{4}",
[7],
[[
"(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3",
["[2-589]"]
]]
],
"CW": [
"599",
"00",
"(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",
[7, 8],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[3467]"]
], [
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["9[4-8]"]
]],
0,
0,
0,
0,
0,
"[69]"
],
"CX": [
"61",
"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011",
"1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",
[
6,
7,
8,
9,
10,
12
],
0,
"0",
0,
"([59]\\d{7})$|0",
"8$1",
0,
0,
[
["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]],
["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]],
["180(?:0\\d{3}|2)\\d{3}", [7, 10]],
["190[0-26]\\d{6}", [10]],
0,
0,
0,
0,
["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]],
["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [
6,
8,
10,
12
]]
],
"0011"
],
"CY": [
"357",
"00",
"(?:[279]\\d|[58]0)\\d{6}",
[8],
[[
"(\\d{2})(\\d{6})",
"$1 $2",
["[257-9]"]
]]
],
"CZ": [
"420",
"00",
"(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",
[
9,
10,
11,
12
],
[
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2-8]|9[015-7]"]
],
[
"(\\d{2})(\\d{3})(\\d{3})(\\d{2})",
"$1 $2 $3 $4",
["96"]
],
[
"(\\d{2})(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["9"]
],
[
"(\\d{3})(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["9"]
]
]
],
"DE": [
"49",
"00",
"[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",
[
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15
],
[
[
"(\\d{2})(\\d{3,13})",
"$1 $2",
["3[02]|40|[68]9"],
"0$1"
],
[
"(\\d{3})(\\d{3,12})",
"$1 $2",
["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],
"0$1"
],
[
"(\\d{4})(\\d{2,11})",
"$1 $2",
["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],
"0$1"
],
[
"(\\d{3})(\\d{4})",
"$1 $2",
["138"],
"0$1"
],
[
"(\\d{5})(\\d{2,10})",
"$1 $2",
["3"],
"0$1"
],
[
"(\\d{3})(\\d{5,11})",
"$1 $2",
["181"],
"0$1"
],
[
"(\\d{3})(\\d)(\\d{4,10})",
"$1 $2 $3",
["1(?:3|80)|9"],
"0$1"
],
[
"(\\d{3})(\\d{7,8})",
"$1 $2",
["1[67]"],
"0$1"
],
[
"(\\d{3})(\\d{7,12})",
"$1 $2",
["8"],
"0$1"
],
[
"(\\d{5})(\\d{6})",
"$1 $2",
[
"185",
"1850",
"18500"
],
"0$1"
],
[
"(\\d{3})(\\d{4})(\\d{4})",
"$1 $2 $3",
["7"],
"0$1"
],
[
"(\\d{4})(\\d{7})",
"$1 $2",
["18[68]"],
"0$1"
],
[
"(\\d{4})(\\d{7})",
"$1 $2",
["15[1279]"],
"0$1"
],
[
"(\\d{5})(\\d{6})",
"$1 $2",
["15[03568]", "15(?:[0568]|3[13])"],
"0$1"
],
[
"(\\d{3})(\\d{8})",
"$1 $2",
["18"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{7,8})",
"$1 $2 $3",
["1(?:6[023]|7)"],
"0$1"
],
[
"(\\d{4})(\\d{2})(\\d{7})",
"$1 $2 $3",
["15[279]"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{8})",
"$1 $2 $3",
["15"],
"0$1"
]
],
"0"
],
"DJ": [
"253",
"00",
"(?:2\\d|77)\\d{6}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[27]"]
]]
],
"DK": [
"45",
"00",
"[2-9]\\d{7}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[2-9]"]
]]
],
"DM": [
"1",
"011",
"(?:[58]\\d\\d|767|900)\\d{7}",
[10],
0,
"1",
0,
"([2-7]\\d{6})$|1",
"767$1",
0,
"767"
],
"DO": [
"1",
"011",
"(?:[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
0,
0,
0,
"8001|8[024]9"
],
"DZ": [
"213",
"00",
"(?:[1-4]|[5-79]\\d|80)\\d{7}",
[8, 9],
[
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[1-4]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["9"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[5-8]"],
"0$1"
]
],
"0"
],
"EC": [
"593",
"00",
"1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",
[
8,
9,
10,
11
],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2-$3",
["[2-7]"],
"(0$1)",
0,
"$1-$2-$3"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["9"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["1"]
]
],
"0"
],
"EE": [
"372",
"00",
"8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",
[
7,
8,
10
],
[
[
"(\\d{3})(\\d{4})",
"$1 $2",
["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]
],
[
"(\\d{4})(\\d{3,4})",
"$1 $2",
["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]
],
[
"(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3",
["7"]
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8"]
]
]
],
"EG": [
"20",
"00",
"[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",
[
8,
9,
10
],
[
[
"(\\d)(\\d{7,8})",
"$1 $2",
["[23]"],
"0$1"
],
[
"(\\d{2})(\\d{6,7})",
"$1 $2",
["1[35]|[4-6]|8[2468]|9[235-7]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[89]"],
"0$1"
],
[
"(\\d{2})(\\d{8})",
"$1 $2",
["1"],
"0$1"
]
],
"0"
],
"EH": [
"212",
"00",
"[5-8]\\d{8}",
[9],
0,
"0",
0,
0,
0,
0,
0,
[
["528[89]\\d{5}"],
["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|3[01]|5[0-5]))\\d{6}"],
["80[0-7]\\d{6}"],
["89\\d{7}"],
0,
0,
0,
0,
["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]
]
],
"ER": [
"291",
"00",
"[178]\\d{6}",
[7],
[[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["[178]"],
"0$1"
]],
"0"
],
"ES": [
"34",
"00",
"(?:400|[5-9]\\d\\d)\\d{6}",
[9],
[[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[89]00"]
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[4-9]"]
]]
],
"ET": [
"251",
"00",
"(?:11|[2-57-9]\\d)\\d{7}",
[9],
[[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[1-57-9]"],
"0$1"
]],
"0"
],
"FI": [
"358",
"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))",
"[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",
[
5,
6,
7,
8,
9,
10,
11,
12
],
[
[
"(\\d{5})",
"$1",
["20[2-59]"],
"0$1"
],
[
"(\\d{3})(\\d{3,7})",
"$1 $2",
["(?:[1-3]0|[68])0|70[07-9]"],
"0$1"
],
[
"(\\d{2})(\\d{4,8})",
"$1 $2",
["[14]|2[09]|50|7[135]"],
"0$1"
],
[
"(\\d{2})(\\d{6,10})",
"$1 $2",
["7"],
"0$1"
],
[
"(\\d)(\\d{4,9})",
"$1 $2",
["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"],
"0$1"
]
],
"0",
0,
0,
0,
0,
"1[03-79]|[2-9]",
0,
"00"
],
"FJ": [
"679",
"0(?:0|52)",
"45\\d{5}|(?:0800\\d|[235-9])\\d{6}",
[7, 11],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[235-9]|45"]
], [
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["0"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"FK": [
"500",
"00",
"[2-7]\\d{4}",
[5]
],
"FM": [
"691",
"00",
"(?:[39]\\d\\d|820)\\d{4}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[389]"]
]]
],
"FO": [
"298",
"00",
"[2-9]\\d{5}",
[6],
[[
"(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3",
["[2-9]"]
]],
0,
0,
"(10(?:01|[12]0|88))"
],
"FR": [
"33",
"00",
"[1-9]\\d{8}",
[9],
[[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"],
"0 $1"
], [
"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4 $5",
["[1-79]"],
"0$1"
]],
"0"
],
"GA": [
"241",
"00",
"(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",
[7, 8],
[
[
"(\\d)(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[2-7]"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["0"]
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["11|[67]"],
"0$1"
]
],
0,
0,
"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})",
"$1"
],
"GB": [
"44",
"00",
"[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",
[
7,
9,
10
],
[
[
"(\\d{3})(\\d{4})",
"$1 $2",
[
"800",
"8001",
"80011",
"800111",
"8001111"
],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3",
[
"845",
"8454",
"84546",
"845464"
],
"0$1"
],
[
"(\\d{3})(\\d{6})",
"$1 $2",
["800"],
"0$1"
],
[
"(\\d{5})(\\d{4,5})",
"$1 $2",
[
"1(?:38|5[23]|69|76|94)",
"1(?:(?:38|69)7|5(?:24|39)|768|946)",
"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"
],
"0$1"
],
[
"(\\d{4})(\\d{5,6})",
"$1 $2",
["1(?:[2-69][02-9]|[78])"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"],
"0$1"
],
[
"(\\d{4})(\\d{6})",
"$1 $2",
["7"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[1389]"],
"0$1"
]
],
"0",
0,
"0|180020",
0,
0,
0,
[
["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]],
["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]],
["80[08]\\d{7}|800\\d{6}|8001111"],
["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]],
["70\\d{8}", [10]],
0,
["(?:3[0347]|55)\\d{8}", [10]],
["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]],
["56\\d{8}", [10]]
],
0,
" x"
],
"GD": [
"1",
"011",
"(?:473|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"473$1",
0,
"473"
],
"GE": [
"995",
"00",
"(?:[3-57]\\d\\d|800)\\d{6}",
[9],
[
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["70"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["32"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[57]"]
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[348]"],
"0$1"
]
],
"0"
],
"GF": [
"594",
"00",
"(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}",
[9],
[[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[5-7]|80[6-9]|9[47]"],
"0$1"
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[89]"],
"0$1"
]],
"0"
],
"GG": [
"44",
"00",
"(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",
[
7,
9,
10
],
0,
"0",
0,
"([25-9]\\d{5})$|0|180020",
"1481$1",
0,
0,
[
["1481[25-9]\\d{5}", [10]],
["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]],
["80[08]\\d{7}|800\\d{6}|8001111"],
["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]],
["70\\d{8}", [10]],
0,
["(?:3[0347]|55)\\d{8}", [10]],
["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]],
["56\\d{8}", [10]]
]
],
"GH": [
"233",
"00",
"[235]\\d{8}|800\\d{5,6}",
[8, 9],
[[
"(\\d{3})(\\d{5})",
"$1 $2",
["8"],
"0$1"
], [
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2358]"],
"0$1"
]],
"0"
],
"GI": [
"350",
"00",
"(?:[25]\\d|60)\\d{6}",
[8],
[[
"(\\d{3})(\\d{5})",
"$1 $2",
["2"]
]]
],
"GL": [
"299",
"00",
"(?:19|[2-689]\\d|70)\\d{4}",
[6],
[[
"(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3",
["19|[2-9]"]
]]
],
"GM": [
"220",
"00",
"[48]\\d{8}|[2-9]\\d{6}",
[7, 9],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[235-9]|4(?:[0-35]|4[16-9])"]
], [
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[48]"]
]]
],
"GN": [
"224",
"00",
"722\\d{6}|(?:3|6\\d)\\d{7}",
[8, 9],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["3"]
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[67]"]
]]
],
"GP": [
"590",
"00",
"7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}",
[9],
[[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[5-79]|80[6-9]"],
"0$1"
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"],
"0$1"
]],
"0",
0,
0,
0,
0,
0,
[
["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"],
["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"],
["80[0-5]\\d{6}"],
["8[129]\\d{7}"],
0,
0,
0,
0,
["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]
]
],
"GQ": [
"240",
"00",
"222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",
[9],
[[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[235]"]
], [
"(\\d{3})(\\d{6})",
"$1 $2",
["[89]"]
]]
],
"GR": [
"30",
"00",
"5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",
[
10,
11,
12
],
[
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["21|7"]
],
[
"(\\d{4})(\\d{6})",
"$1 $2",
["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2689]"]
],
[
"(\\d{3})(\\d{3,4})(\\d{5})",
"$1 $2 $3",
["8"]
]
]
],
"GT": [
"502",
"00",
"80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}",
[8, 11],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[2-8]"]
], [
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"]
]]
],
"GU": [
"1",
"011",
"(?:[58]\\d\\d|671|900)\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"671$1",
0,
"671"
],
"GW": [
"245",
"00",
"[49]\\d{8}|4\\d{6}",
[7, 9],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["40"]
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[49]"]
]]
],
"GY": [
"592",
"001",
"(?:[2-8]\\d{3}|9008)\\d{3}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[2-9]"]
]]
],
"HK": [
"852",
"00(?:30|5[09]|[126-9]?)",
"8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",
[
5,
6,
7,
8,
9,
11
],
[
[
"(\\d{3})(\\d{2,5})",
"$1 $2",
["900", "9003"]
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8"]
],
[
"(\\d{3})(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["9"]
]
],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"HN": [
"504",
"00",
"8\\d{10}|[237-9]\\d{7}",
[8, 11],
[[
"(\\d{4})(\\d{4})",
"$1-$2",
["[237-9]"]
]]
],
"HR": [
"385",
"00",
"[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}",
[
7,
8,
9
],
[
[
"(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3",
["6[01]"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2,3})",
"$1 $2 $3",
["8"],
"0$1"
],
[
"(\\d)(\\d{4})(\\d{3})",
"$1 $2 $3",
["1"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["6|7[245]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["9"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[2-57]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8"],
"0$1"
]
],
"0"
],
"HT": [
"509",
"00",
"[2-589]\\d{7}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3",
["[2-589]"]
]]
],
"HU": [
"36",
"00",
"[235-7]\\d{8}|[1-9]\\d{7}",
[8, 9],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"],
"(06 $1)"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],
"(06 $1)"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[2-9]"],
"06 $1"
]
],
"06"
],
"ID": [
"62",
"00[89]",
"00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}",
[
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17
],
[
[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["15"]
],
[
"(\\d{2})(\\d{5,9})",
"$1 $2",
["2[124]|[36]1"],
"(0$1)"
],
[
"(\\d{3})(\\d{5,7})",
"$1 $2",
["800"],
"0$1"
],
[
"(\\d{3})(\\d{5,8})",
"$1 $2",
["[2-79]"],
"(0$1)"
],
[
"(\\d{3})(\\d{3,4})(\\d{3})",
"$1-$2-$3",
["8[1-35-9]"],
"0$1"
],
[
"(\\d{3})(\\d{6,8})",
"$1 $2",
["1"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["804"],
"0$1"
],
[
"(\\d{3})(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["80"],
"0$1"
],
[
"(\\d{3})(\\d{4})(\\d{4,5})",
"$1-$2-$3",
["8"],
"0$1"
]
],
"0"
],
"IE": [
"353",
"00",
"(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",
[
7,
8,
9,
10
],
[
[
"(\\d{2})(\\d{5})",
"$1 $2",
["2[24-9]|47|58|6[237-9]|9[35-9]"],
"(0$1)"
],
[
"(\\d{3})(\\d{5})",
"$1 $2",
["[45]0"],
"(0$1)"
],
[
"(\\d)(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["1"],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[2569]|4[1-69]|7[14]"],
"(0$1)"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["70"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["81"],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[78]"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["1"]
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["4"],
"(0$1)"
],
[
"(\\d{2})(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3 $4",
["8"],
"0$1"
]
],
"0"
],
"IL": [
"972",
"0(?:0|1(?:05|[2-9]))",
"1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",
[
7,
8,
9,
10,
11,
12
],
[
[
"(\\d{4})(\\d{3})",
"$1-$2",
["125"]
],
[
"(\\d{4})(\\d{2})(\\d{2})",
"$1-$2-$3",
["121"]
],
[
"(\\d)(\\d{3})(\\d{4})",
"$1-$2-$3",
["[2-489]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1-$2-$3",
["[57]"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1-$2-$3",
["12"]
],
[
"(\\d{4})(\\d{6})",
"$1-$2",
["159"]
],
[
"(\\d)(\\d{3})(\\d{3})(\\d{3})",
"$1-$2-$3-$4",
["1[7-9]"]
],
[
"(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})",
"$1-$2 $3-$4",
["15"]
]
],
"0"
],
"IM": [
"44",
"00",
"1624\\d{6}|(?:[3578]\\d|90)\\d{8}",
[10],
0,
"0",
0,
"([25-8]\\d{5})$|0|180020",
"1624$1",
0,
"74576|(?:16|7[56])24"
],
"IN": [
"91",
"00",
"(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",
[
8,
9,
10,
11,
12,
13
],
[
[
"(\\d{8})",
"$1",
[
"5(?:0|2[23]|3[03]|[67]1|88)",
"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)",
"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"
],
0,
1
],
[
"(\\d{4})(\\d{4,5})",
"$1 $2",
["180", "1800"],
0,
1
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["140"],
0,
1
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
[
"11|2[02]|33|4[04]|79[1-7]|80[2-46]",
"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])",
"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"
],
"0$1",
1
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
[
"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[14]",
"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31)|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]",
"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|8(?:16|2[014]|3[126]|6[136]|7[78]|83)(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"
],
"0$1",
1
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
[
"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|3[129]|5[29]|6[02-5]|70)|807",
"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]",
"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"
],
"0$1",
1
],
[
"(\\d{5})(\\d{5})",
"$1 $2",
["16|[6-9]"],
"0$1",
1
],
[
"(\\d{4})(\\d{2,4})(\\d{4})",
"$1 $2 $3",
["18[06]", "18[06]0"],
0,
1
],
[
"(\\d{4})(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["18"],
0,
1
]
],
"0"
],
"IO": [
"246",
"00",
"3\\d{6}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["3"]
]]
],
"IQ": [
"964",
"00",
"(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",
[
8,
9,
10
],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[2-6]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["7"],
"0$1"
]
],
"0"
],
"IR": [
"98",
"00",
"[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",
[
4,
5,
6,
7,
10
],
[
[
"(\\d{4,5})",
"$1",
["96"],
"0$1"
],
[
"(\\d{2})(\\d{4,5})",
"$1 $2",
["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["9"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["[1-8]"],
"0$1"
]
],
"0"
],
"IS": [
"354",
"00|1(?:0(?:01|[12]0)|100)",
"(?:38\\d|[4-9])\\d{6}",
[7, 9],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[4-9]"]
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["3"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"IT": [
"39",
"00",
"0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",
[
6,
7,
8,
9,
10,
11,
12
],
[
[
"(\\d{2})(\\d{4,6})",
"$1 $2",
["0[26]"]
],
[
"(\\d{3})(\\d{3,6})",
"$1 $2",
["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]
],
[
"(\\d{4})(\\d{2,6})",
"$1 $2",
["0(?:[13-579][2-46-8]|8[236-8])"]
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["894"]
],
[
"(\\d{2})(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["0[26]|5"]
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["1(?:44|[679])|[378]|43"]
],
[
"(\\d{3})(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["0[13-57-9][0159]|14"]
],
[
"(\\d{2})(\\d{4})(\\d{5})",
"$1 $2 $3",
["0[26]"]
],
[
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["0"]
],
[
"(\\d{3})(\\d{4})(\\d{4,5})",
"$1 $2 $3",
["[03]"]
]
],
0,
0,
0,
0,
0,
0,
[
["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],
["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]],
["80(?:0\\d{3}|3)\\d{3}", [6, 9]],
["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [
6,
8,
9,
10
]],
["1(?:78\\d|99)\\d{6}", [9, 10]],
["3[2-8]\\d{9,10}", [11, 12]],
0,
0,
["55\\d{8}", [10]],
["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]
]
],
"JE": [
"44",
"00",
"1534\\d{6}|(?:[3578]\\d|90)\\d{8}",
[10],
0,
"0",
0,
"([0-24-8]\\d{5})$|0|180020",
"1534$1",
0,
0,
[
["1534[0-24-8]\\d{5}"],
["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"],
["80(?:07(?:35|81)|8901)\\d{4}"],
["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],
["701511\\d{4}"],
0,
["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],
["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],
["56\\d{8}"]
]
],
"JM": [
"1",
"011",
"(?:[58]\\d\\d|658|900)\\d{7}",
[10],
0,
"1",
0,
0,
0,
0,
"658|876"
],
"JO": [
"962",
"00",
"(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}",
[8, 9],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2356]|87"],
"(0$1)"
],
[
"(\\d{3})(\\d{5,6})",
"$1 $2",
["[89]"],
"0$1"
],
[
"(\\d{2})(\\d{7})",
"$1 $2",
["70"],
"0$1"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["[47]"],
"0$1"
]
],
"0"
],
"JP": [
"81",
"010",
"00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",
[
8,
9,
10,
11,
12,
13,
14,
15,
16,
17
],
[
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1-$2-$3",
["(?:12|57|99)0"],
"0$1"
],
[
"(\\d{4})(\\d)(\\d{4})",
"$1-$2-$3",
[
"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])",
"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]",
"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"
],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1-$2-$3",
["60"],
"0$1"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1-$2-$3",
["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1-$2-$3",
[
"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"
],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{4})",
"$1-$2-$3",
["[14]|[289][2-9]|5[3-9]|7[2-4679]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1-$2-$3",
["800"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1-$2-$3",
["[25-9]"],
"0$1"
]
],
"0",
0,
"(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0",
"$1"
],
"KE": [
"254",
"000",
"(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",
[
7,
8,
9,
10
],
[
[
"(\\d{2})(\\d{5,7})",
"$1 $2",
["[24-6]"],
"0$1"
],
[
"(\\d{3})(\\d{6})",
"$1 $2",
["[17]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[89]"],
"0$1"
]
],
"0"
],
"KG": [
"996",
"00",
"8\\d{9}|[235-9]\\d{8}",
[9, 10],
[
[
"(\\d{4})(\\d{5})",
"$1 $2",
["3(?:1[346]|[24-79])"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[235-79]|88"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d)(\\d{2,3})",
"$1 $2 $3 $4",
["8"],
"0$1"
]
],
"0"
],
"KH": [
"855",
"00[14-9]",
"1\\d{9}|[1-9]\\d{7,8}",
[
8,
9,
10
],
[[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[1-9]"],
"0$1"
], [
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["1"]
]],
"0"
],
"KI": [
"686",
"00",
"(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",
[5, 8],
0,
"0"
],
"KM": [
"269",
"00",
"[3478]\\d{6}",
[7],
[[
"(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3",
["[3478]"]
]]
],
"KN": [
"1",
"011",
"(?:[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-7]\\d{6})$|1",
"869$1",
0,
"869"
],
"KP": [
"850",
"00|99",
"85\\d{6}|(?:19\\d|[2-7])\\d{7}",
[8, 10],
[
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2-7]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"],
"0$1"
]
],
"0"
],
"KR": [
"82",
"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))",
"00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",
[
5,
6,
8,
9,
10,
11,
12,
13,
14
],
[
[
"(\\d{2})(\\d{3,4})",
"$1-$2",
["(?:3[1-3]|[46][1-4]|5[1-5])1"],
"0$1"
],
[
"(\\d{4})(\\d{4})",
"$1-$2",
["1"]
],
[
"(\\d)(\\d{3,4})(\\d{4})",
"$1-$2-$3",
["2"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1-$2-$3",
["[36]0|8"],
"0$1"
],
[
"(\\d{2})(\\d{3,4})(\\d{4})",
"$1-$2-$3",
["[1346]|5[1-5]"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1-$2-$3",
["[57]"],
"0$1"
],
[
"(\\d{2})(\\d{5})(\\d{4})",
"$1-$2-$3",
["5"],
"0$1"
]
],
"0",
0,
"0(8(?:[1-46-8]|5\\d\\d))?"
],
"KW": [
"965",
"00",
"18\\d{5}|(?:[2569]\\d|41)\\d{6}",
[7, 8],
[[
"(\\d{4})(\\d{3,4})",
"$1 $2",
["[169]|2(?:[235]|4[1-35-9])|52"]
], [
"(\\d{3})(\\d{5})",
"$1 $2",
["[245]"]
]]
],
"KY": [
"1",
"011",
"(?:345|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"345$1",
0,
"345"
],
"KZ": [
"7",
"810",
"8\\d{13}|[78]\\d{9}",
[10, 14],
0,
"8",
0,
0,
0,
0,
"7",
0,
"8~10"
],
"LA": [
"856",
"00",
"[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",
[
8,
9,
10
],
[
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["2[13]|3[14]|[4-8]"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3 $4",
["3"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["[23]"],
"0$1"
]
],
"0"
],
"LB": [
"961",
"00",
"[27-9]\\d{7}|[13-9]\\d{6}",
[7, 8],
[[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"],
"0$1"
], [
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[27-9]"]
]],
"0"
],
"LC": [
"1",
"011",
"(?:[58]\\d\\d|758|900)\\d{7}",
[10],
0,
"1",
0,
"([2-8]\\d{6})$|1",
"758$1",
0,
"758"
],
"LI": [
"423",
"00",
"[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",
[7, 9],
[
[
"(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3",
["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["69"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["6"]
]
],
"0",
0,
"(1001)|0"
],
"LK": [
"94",
"00",
"[1-9]\\d{8}",
[9],
[[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["7"],
"0$1"
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[1-689]"],
"0$1"
]],
"0"
],
"LR": [
"231",
"00",
"(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",
[
7,
8,
9
],
[
[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["4[67]|[56]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["2"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2-578]"],
"0$1"
]
],
"0"
],
"LS": [
"266",
"00",
"(?:[256]\\d\\d|800)\\d{5}",
[8],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[2568]"]
]]
],
"LT": [
"370",
"00",
"(?:[3469]\\d|52|[78]0)\\d{6}",
[8],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["52[0-7]"],
"(0-$1)",
1
],
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["[7-9]"],
"0 $1",
1
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["37|4(?:[15]|6[1-8])"],
"(0-$1)",
1
],
[
"(\\d{3})(\\d{5})",
"$1 $2",
["[3-6]"],
"(0-$1)",
1
]
],
"0",
0,
"[08]"
],
"LU": [
"352",
"00",
"35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",
[
4,
5,
6,
7,
8,
9,
10,
11
],
[
[
"(\\d{2})(\\d{3})",
"$1 $2",
["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]
],
[
"(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3",
["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]
],
[
"(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3",
["20[2-689]"]
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})",
"$1 $2 $3 $4",
["20"]
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})",
"$1 $2 $3 $4",
["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]
],
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["80[01]|90[015]"]
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3 $4",
["20"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["6"]
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})",
"$1 $2 $3 $4 $5",
["20"]
]
],
0,
0,
"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"
],
"LV": [
"371",
"00",
"(?:[268]\\d|78|90)\\d{6}",
[8],
[[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2679]|8[01]"]
]]
],
"LY": [
"218",
"00",
"[2-9]\\d{8}",
[9],
[[
"(\\d{2})(\\d{7})",
"$1-$2",
["[2-9]"],
"0$1"
]],
"0"
],
"MA": [
"212",
"00",
"[5-8]\\d{8}",
[9],
[
[
"(\\d{4})(\\d{5})",
"$1-$2",
["892"],
"0$1"
],
[
"(\\d{2})(\\d{7})",
"$1-$2",
["8(?:0[0-7]|9)"],
"0$1"
],
[
"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4 $5",
["[5-8]"],
"0$1"
]
],
"0",
0,
0,
0,
0,
"[5-8]"
],
"MC": [
"377",
"00",
"(?:[3489]|[67]\\d)\\d{7}",
[8, 9],
[
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["4"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[389]"]
],
[
"(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4 $5",
["[67]"],
"0$1"
]
],
"0"
],
"MD": [
"373",
"00",
"(?:[235-7]\\d|[89]0)\\d{6}",
[8],
[
[
"(\\d{3})(\\d{5})",
"$1 $2",
["[89]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["22|3"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["[25-7]"],
"0$1"
]
],
"0"
],
"ME": [
"382",
"00",
"(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",
[8, 9],
[[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[2-9]"],
"0$1"
]],
"0"
],
"MF": [
"590",
"00",
"7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}",
[9],
0,
"0",
0,
0,
0,
0,
0,
[
["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"],
["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|7090[0-4])\\d{4}"],
["80[0-5]\\d{6}"],
["8[129]\\d{7}"],
0,
0,
0,
0,
["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]
]
],
"MG": [
"261",
"00",
"[23]\\d{8}",
[9],
[[
"(\\d{2})(\\d{2})(\\d{3})(\\d{2})",
"$1 $2 $3 $4",
["[23]"],
"0$1"
]],
"0",
0,
"([24-9]\\d{6})$|0",
"20$1"
],
"MH": [
"692",
"011",
"329\\d{4}|(?:[256]\\d|45)\\d{5}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1-$2",
["[2-6]"]
]],
"1"
],
"MK": [
"389",
"00",
"[2-578]\\d{7}",
[8],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["2|34[47]|4(?:[37]7|5[47]|64)"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[347]"],
"0$1"
],
[
"(\\d{3})(\\d)(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[58]"],
"0$1"
]
],
"0"
],
"ML": [
"223",
"00",
"[24-9]\\d{7}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[24-9]"]
]]
],
"MM": [
"95",
"00",
"1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",
[
6,
7,
8,
9,
10
],
[
[
"(\\d)(\\d{2})(\\d{3})",
"$1 $2 $3",
["16|2"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3",
["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[12]|452|678|86", "[12]|452|6788|86"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[4-7]|8[1-35]"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{4,6})",
"$1 $2 $3",
["9(?:2[0-4]|[35-9]|4[137-9])"],
"0$1"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["2"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["8"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["92"],
"0$1"
],
[
"(\\d)(\\d{5})(\\d{4})",
"$1 $2 $3",
["9"],
"0$1"
]
],
"0"
],
"MN": [
"976",
"001",
"[12]\\d{7,9}|[5-9]\\d{7}",
[
8,
9,
10
],
[
[
"(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3",
["11|2[16]"],
"0$1"
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[5-9]"]
],
[
"(\\d{3})(\\d{5,6})",
"$1 $2",
["[12]2[1-3]"],
"0$1"
],
[
"(\\d{4})(\\d{5,6})",
"$1 $2",
["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],
"0$1"
],
[
"(\\d{5})(\\d{4,5})",
"$1 $2",
["[12]"],
"0$1"
]
],
"0"
],
"MO": [
"853",
"00",
"0800\\d{3}|(?:28|[68]\\d)\\d{6}",
[7, 8],
[[
"(\\d{4})(\\d{3})",
"$1 $2",
["0"]
], [
"(\\d{4})(\\d{4})",
"$1 $2",
["[268]"]
]]
],
"MP": [
"1",
"011",
"[58]\\d{9}|(?:67|90)0\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"670$1",
0,
"670"
],
"MQ": [
"596",
"00",
"7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}",
[9],
[[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[5-79]|8(?:0[6-9]|[36])"],
"0$1"
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"],
"0$1"
]],
"0"
],
"MR": [
"222",
"00",
"(?:[2-4]\\d\\d|800)\\d{5}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[2-48]"]
]]
],
"MS": [
"1",
"011",
"(?:[58]\\d\\d|664|900)\\d{7}",
[10],
0,
"1",
0,
"([34]\\d{6})$|1",
"664$1",
0,
"664"
],
"MT": [
"356",
"00",
"3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",
[8],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[2357-9]"]
]]
],
"MU": [
"230",
"0(?:0|[24-7]0|3[03])",
"(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",
[
7,
8,
10
],
[
[
"(\\d{3})(\\d{4})",
"$1 $2",
["[2-46]|8[013]"]
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[57]"]
],
[
"(\\d{5})(\\d{5})",
"$1 $2",
["8"]
]
],
0,
0,
0,
0,
0,
0,
0,
"020"
],
"MV": [
"960",
"0(?:0|19)",
"(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",
[7, 10],
[[
"(\\d{3})(\\d{4})",
"$1-$2",
["[34679]"]
], [
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[89]"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"MW": [
"265",
"00",
"(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",
[7, 9],
[[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["1[2-9]"],
"0$1"
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[1-37-9]"],
"0$1"
]],
"0"
],
"MX": [
"52",
"0[09]",
"[2-9]\\d{9}",
[10],
[[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["33|5[56]|81"]
], [
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2-9]"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"MY": [
"60",
"00",
"1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",
[
8,
9,
10
],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1-$2 $3",
["[4-79]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1-$2 $3",
["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],
"0$1"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1-$2 $3",
["3"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{2})(\\d{4})",
"$1-$2-$3-$4",
["1(?:[367]|80)"]
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1-$2 $3",
["15"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1-$2 $3",
["1"],
"0$1"
]
],
"0"
],
"MZ": [
"258",
"00",
"(?:2|8\\d)\\d{7}",
[8, 9],
[[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["2|8[2-9]"]
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["8"]
]]
],
"NA": [
"264",
"00",
"[68]\\d{7,8}",
[8, 9],
[
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["88"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["6"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["87"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["8"],
"0$1"
]
],
"0"
],
"NC": [
"687",
"00",
"(?:050|[2-57-9]\\d\\d)\\d{3}",
[6],
[[
"(\\d{2})(\\d{2})(\\d{2})",
"$1.$2.$3",
["[02-57-9]"]
]]
],
"NE": [
"227",
"00",
"[027-9]\\d{7}",
[8],
[[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["08"]
], [
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[089]|2[013]|7[0467]"]
]]
],
"NF": [
"672",
"00",
"[13]\\d{5}",
[6],
[[
"(\\d{2})(\\d{4})",
"$1 $2",
["1[0-3]"]
], [
"(\\d)(\\d{5})",
"$1 $2",
["[13]"]
]],
0,
0,
"([0-258]\\d{4})$",
"3$1"
],
"NG": [
"234",
"009",
"(?:20|9\\d)\\d{8}|[78]\\d{9,13}",
[
10,
11,
12,
13,
14
],
[
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[7-9]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["20[129]"],
"0$1"
],
[
"(\\d{4})(\\d{2})(\\d{4})",
"$1 $2 $3",
["2"],
"0$1"
],
[
"(\\d{3})(\\d{4})(\\d{4,5})",
"$1 $2 $3",
["[78]"],
"0$1"
],
[
"(\\d{3})(\\d{5})(\\d{5,6})",
"$1 $2 $3",
["[78]"],
"0$1"
]
],
"0"
],
"NI": [
"505",
"00",
"(?:1800|[25-8]\\d{3})\\d{4}",
[8],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[125-8]"]
]]
],
"NL": [
"31",
"00",
"(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",
[
5,
6,
7,
8,
9,
10,
11
],
[
[
"(\\d{3})(\\d{4,7})",
"$1 $2",
["[89]0"],
"0$1"
],
[
"(\\d{2})(\\d{7})",
"$1 $2",
["66"],
"0$1"
],
[
"(\\d)(\\d{8})",
"$1 $2",
["6"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[1-578]|91"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{5})",
"$1 $2 $3",
["9"],
"0$1"
]
],
"0"
],
"NO": [
"47",
"00",
"(?:0|[2-9]\\d{3})\\d{4}",
[5, 8],
[[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["8"]
], [
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[2-79]"]
]],
0,
0,
0,
0,
0,
"[02-689]|7[0-8]"
],
"NP": [
"977",
"00",
"(?:1\\d|9)\\d{9}|[1-9]\\d{7}",
[
8,
10,
11
],
[
[
"(\\d)(\\d{7})",
"$1-$2",
["1[2-6]"],
"0$1"
],
[
"(\\d{2})(\\d{6})",
"$1-$2",
["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],
"0$1"
],
[
"(\\d{3})(\\d{7})",
"$1-$2",
["9"]
]
],
"0"
],
"NR": [
"674",
"00",
"(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[24-9]"]
]]
],
"NU": [
"683",
"00",
"(?:[4-7]|888\\d)\\d{3}",
[4, 7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["8"]
]]
],
"NZ": [
"64",
"0(?:0|161)",
"[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}",
[
5,
6,
7,
8,
9,
10
],
[
[
"(\\d{2})(\\d{3,8})",
"$1 $2",
["8[1-79]"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{2,3})",
"$1 $2 $3",
["50[036-8]|8|90", "50(?:[0367]|88)|8|90"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["24|[346]|7[2-57-9]|9[2-9]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["2(?:10|74)|[589]"],
"0$1"
],
[
"(\\d{2})(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["1|2[028]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,5})",
"$1 $2 $3",
["2(?:[169]|7[0-35-9])|7"],
"0$1"
]
],
"0",
0,
0,
0,
0,
0,
0,
"00"
],
"OM": [
"968",
"00",
"(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",
[
7,
8,
9
],
[
[
"(\\d{3})(\\d{4,6})",
"$1 $2",
["[58]"]
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["2"]
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[179]"]
]
]
],
"PA": [
"507",
"00",
"(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",
[
7,
8,
10,
11
],
[
[
"(\\d{3})(\\d{4})",
"$1-$2",
["[1-57-9]"]
],
[
"(\\d{4})(\\d{4})",
"$1-$2",
["[68]"]
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["8"]
]
]
],
"PE": [
"51",
"00|19(?:1[124]|77|90)00",
"(?:[14-8]|9\\d)\\d{7}",
[8, 9],
[
[
"(\\d{3})(\\d{5})",
"$1 $2",
["80"],
"(0$1)"
],
[
"(\\d)(\\d{7})",
"$1 $2",
["1"],
"(0$1)"
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["[4-8]"],
"(0$1)"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["9"]
]
],
"0",
0,
0,
0,
0,
0,
0,
"00",
" Anexo "
],
"PF": [
"689",
"00",
"4\\d{5}(?:\\d{2})?|8\\d{7,8}",
[
6,
8,
9
],
[
[
"(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3",
["44"]
],
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["4|8[7-9]"]
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"]
]
]
],
"PG": [
"675",
"00|140[1-3]",
"(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",
[7, 8],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["18|[2-69]|85"]
], [
"(\\d{4})(\\d{4})",
"$1 $2",
["[78]"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"PH": [
"63",
"00",
"(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",
[
6,
8,
9,
10,
11,
12,
13
],
[
[
"(\\d)(\\d{5})",
"$1 $2",
["2"],
"(0$1)"
],
[
"(\\d{4})(\\d{4,6})",
"$1 $2",
["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],
"(0$1)"
],
[
"(\\d{5})(\\d{4})",
"$1 $2",
["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"],
"(0$1)"
],
[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["2"],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[3-7]|8[2-8]"],
"(0$1)"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[89]"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"]
],
[
"(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})",
"$1 $2 $3 $4",
["1"]
]
],
"0"
],
"PK": [
"92",
"00",
"122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",
[
8,
9,
10,
11,
12
],
[
[
"(\\d{3})(\\d{3})(\\d{2,7})",
"$1 $2 $3",
["[89]0"],
"0$1"
],
[
"(\\d{4})(\\d{5})",
"$1 $2",
["1"]
],
[
"(\\d{3})(\\d{6,7})",
"$1 $2",
["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],
"(0$1)"
],
[
"(\\d{2})(\\d{7,8})",
"$1 $2",
["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],
"(0$1)"
],
[
"(\\d{5})(\\d{5})",
"$1 $2",
["58"],
"(0$1)"
],
[
"(\\d{3})(\\d{7})",
"$1 $2",
["3"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],
"(0$1)"
],
[
"(\\d{3})(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["[24-9]"],
"(0$1)"
]
],
"0"
],
"PL": [
"48",
"00",
"(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",
[
6,
7,
8,
9,
10
],
[
[
"(\\d{5})",
"$1",
["19"]
],
[
"(\\d{3})(\\d{3})",
"$1 $2",
["11|20|64"]
],
[
"(\\d{2})(\\d{2})(\\d{3})",
"$1 $2 $3",
["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]
],
[
"(\\d{3})(\\d{2})(\\d{2,3})",
"$1 $2 $3",
["64"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["1[2-8]|[2-7]|8[1-79]|9[145]"]
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["8"]
]
]
],
"PM": [
"508",
"00",
"[78]\\d{8}|[2-9]\\d{5}",
[6, 9],
[
[
"(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3",
["[2-9]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["7"]
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"],
"0$1"
]
],
"0"
],
"PR": [
"1",
"011",
"(?:[589]\\d\\d|787)\\d{7}",
[10],
0,
"1",
0,
0,
0,
0,
"787|939"
],
"PS": [
"970",
"00",
"[2489]2\\d{6}|(?:1\\d|5)\\d{8}",
[
8,
9,
10
],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["[2489]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["5"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["1"]
]
],
"0"
],
"PT": [
"351",
"00",
"1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",
[9],
[[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["2[12]"]
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["16|[236-9]"]
]]
],
"PW": [
"680",
"01[12]",
"(?:[24-8]\\d\\d|345|900)\\d{4}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[2-9]"]
]]
],
"PY": [
"595",
"00",
"[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}",
[
6,
7,
8,
9,
10,
11
],
[
[
"(\\d{3})(\\d{3,6})",
"$1 $2",
["[2-9]0"],
"0$1"
],
[
"(\\d{2})(\\d{5})",
"$1 $2",
["3[289]|4[246-8]|61|7[1-3]|8[1-36]"],
"(0$1)"
],
[
"(\\d{3})(\\d{4,5})",
"$1 $2",
["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["87"]
],
[
"(\\d{3})(\\d{6})",
"$1 $2",
["9(?:[5-79]|8[1-7])"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2-8]"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["9"]
]
],
"0"
],
"QA": [
"974",
"00",
"800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",
[
7,
8,
9,
11
],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["2[136]|8"]
], [
"(\\d{4})(\\d{4})",
"$1 $2",
["[3-7]"]
]]
],
"RE": [
"262",
"00",
"709\\d{6}|(?:26|[689]\\d)\\d{7}",
[9],
[[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[26-9]"],
"0$1"
]],
"0",
0,
0,
0,
0,
0,
[
["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"],
["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"],
["80\\d{7}"],
["89[1-37-9]\\d{6}"],
0,
0,
0,
0,
["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"],
["8(?:1[019]|2[0156]|84|90)\\d{6}"]
]
],
"RO": [
"40",
"00",
"(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}",
[6, 9],
[
[
"(\\d{3})(\\d{3})",
"$1 $2",
["2[3-6]", "2[3-6]\\d9"],
"0$1"
],
[
"(\\d{2})(\\d{4})",
"$1 $2",
["219|31"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[23]1"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[236-9]"],
"0$1"
]
],
"0",
0,
0,
0,
0,
0,
0,
0,
" int "
],
"RS": [
"381",
"00",
"38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",
[
6,
7,
8,
9,
10,
11,
12
],
[[
"(\\d{3})(\\d{3,9})",
"$1 $2",
["(?:2[389]|39)0|[7-9]"],
"0$1"
], [
"(\\d{2})(\\d{5,10})",
"$1 $2",
["[1-36]"],
"0$1"
]],
"0"
],
"RU": [
"7",
"810",
"8\\d{13}|[347-9]\\d{9}",
[10, 14],
[
[
"(\\d{4})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
[
"7(?:1[0-8]|2[1-9])",
"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))",
"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"
],
"8 ($1)",
1
],
[
"(\\d{5})(\\d)(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
[
"7(?:1[0-68]|2[1-9])",
"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))",
"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"
],
"8 ($1)",
1
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["7"],
"8 ($1)",
1
],
[
"(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2-$3-$4",
["[349]|8(?:[02-7]|1[1-8])"],
"8 ($1)",
1
],
[
"(\\d{4})(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["8"],
"8 ($1)"
]
],
"8",
0,
0,
0,
0,
"[3489]",
0,
"8~10"
],
"RW": [
"250",
"00",
"(?:06|[27]\\d\\d|[89]00)\\d{6}",
[8, 9],
[
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["0"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["2"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[7-9]"],
"0$1"
]
],
"0"
],
"SA": [
"966",
"00",
"(?:[15]\\d|800|92)\\d{7}",
[9, 10],
[
[
"(\\d{4})(\\d{5})",
"$1 $2",
["9"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["5"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["8"]
]
],
"0"
],
"SB": [
"677",
"0[01]",
"[6-9]\\d{6}|[1-6]\\d{4}",
[5, 7],
[[
"(\\d{2})(\\d{5})",
"$1 $2",
["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]
]]
],
"SC": [
"248",
"010|0[0-2]",
"(?:[2489]\\d|64)\\d{5}",
[7],
[[
"(\\d)(\\d{3})(\\d{3})",
"$1 $2 $3",
["[246]|9[57]"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"SD": [
"249",
"00",
"[19]\\d{8}",
[9],
[[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[19]"],
"0$1"
]],
"0"
],
"SE": [
"46",
"00",
"(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",
[
6,
7,
8,
9,
10,
12
],
[
[
"(\\d{2})(\\d{2,3})(\\d{2})",
"$1-$2 $3",
["20"],
"0$1",
0,
"$1 $2 $3"
],
[
"(\\d{3})(\\d{4})",
"$1-$2",
["9(?:00|39|44|9)"],
"0$1",
0,
"$1 $2"
],
[
"(\\d{2})(\\d{3})(\\d{2})",
"$1-$2 $3",
["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],
"0$1",
0,
"$1 $2 $3"
],
[
"(\\d)(\\d{2,3})(\\d{2})(\\d{2})",
"$1-$2 $3 $4",
["8"],
"0$1",
0,
"$1 $2 $3 $4"
],
[
"(\\d{3})(\\d{2,3})(\\d{2})",
"$1-$2 $3",
["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],
"0$1",
0,
"$1 $2 $3"
],
[
"(\\d{3})(\\d{2,3})(\\d{3})",
"$1-$2 $3",
["9(?:00|39|44)"],
"0$1",
0,
"$1 $2 $3"
],
[
"(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})",
"$1-$2 $3 $4",
["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],
"0$1",
0,
"$1 $2 $3 $4"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1-$2 $3 $4",
["10|7"],
"0$1",
0,
"$1 $2 $3 $4"
],
[
"(\\d)(\\d{3})(\\d{3})(\\d{2})",
"$1-$2 $3 $4",
["8"],
"0$1",
0,
"$1 $2 $3 $4"
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1-$2 $3 $4",
["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],
"0$1",
0,
"$1 $2 $3 $4"
],
[
"(\\d{3})(\\d{2})(\\d{2})(\\d{3})",
"$1-$2 $3 $4",
["9"],
"0$1",
0,
"$1 $2 $3 $4"
],
[
"(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1-$2 $3 $4 $5",
["[26]"],
"0$1",
0,
"$1 $2 $3 $4 $5"
]
],
"0"
],
"SG": [
"65",
"0[0-3]\\d",
"(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",
[
8,
10,
11
],
[
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[369]|8(?:0[1-9]|[1-9])"]
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["8"]
],
[
"(\\d{4})(\\d{4})(\\d{3})",
"$1 $2 $3",
["7"]
],
[
"(\\d{4})(\\d{3})(\\d{4})",
"$1 $2 $3",
["1"]
]
]
],
"SH": [
"290",
"00",
"(?:[256]\\d|8)\\d{3}",
[4, 5],
0,
0,
0,
0,
0,
0,
"[256]"
],
"SI": [
"386",
"00|10(?:22|66|88|99)",
"[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",
[
5,
6,
7,
8
],
[
[
"(\\d{2})(\\d{3,6})",
"$1 $2",
["8[09]|9"],
"0$1"
],
[
"(\\d{3})(\\d{5})",
"$1 $2",
["59|8"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[37][01]|4[013]|51|6"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[1-57]"],
"(0$1)"
]
],
"0",
0,
0,
0,
0,
0,
0,
"00"
],
"SJ": [
"47",
"00",
"0\\d{4}|(?:[489]\\d|79)\\d{6}",
[5, 8],
0,
0,
0,
0,
0,
0,
"79"
],
"SK": [
"421",
"00",
"[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",
[
6,
7,
9
],
[
[
"(\\d)(\\d{2})(\\d{3,4})",
"$1 $2 $3",
["21"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{2,3})",
"$1 $2 $3",
["[3-5][1-8]1", "[3-5][1-8]1[67]"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{3})(\\d{2})",
"$1 $2 $3 $4",
["2"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[689]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[3-5]"],
"0$1"
]
],
"0"
],
"SL": [
"232",
"00",
"(?:[237-9]\\d|66)\\d{6}",
[8],
[[
"(\\d{2})(\\d{6})",
"$1 $2",
["[236-9]"],
"(0$1)"
]],
"0"
],
"SM": [
"378",
"00",
"(?:0549|[5-7]\\d)\\d{6}",
[8, 10],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[5-7]"]
], [
"(\\d{4})(\\d{6})",
"$1 $2",
["0"]
]],
0,
0,
"([89]\\d{5})$",
"0549$1"
],
"SN": [
"221",
"00",
"(?:[378]\\d|93)\\d{7}",
[9],
[[
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"]
], [
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[379]"]
]]
],
"SO": [
"252",
"00",
"[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",
[
6,
7,
8,
9
],
[
[
"(\\d{2})(\\d{4})",
"$1 $2",
["8[125]"]
],
[
"(\\d{6})",
"$1",
["[134]"]
],
[
"(\\d)(\\d{6})",
"$1 $2",
["[15]|2[0-79]|3[0-46-8]|4[0-7]"]
],
[
"(\\d{2})(\\d{5,7})",
"$1 $2",
["1|28|9[2-9]"]
],
[
"(\\d)(\\d{7})",
"$1 $2",
["[267]|904"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[346-9]"]
]
],
"0"
],
"SR": [
"597",
"00",
"(?:[2-5]|[6-9]\\d)\\d{5}",
[6, 7],
[
[
"(\\d{2})(\\d{2})(\\d{2})",
"$1-$2-$3",
["56"]
],
[
"(\\d{3})(\\d{3})",
"$1-$2",
["[2-5]"]
],
[
"(\\d{3})(\\d{4})",
"$1-$2",
["[6-9]"]
]
]
],
"SS": [
"211",
"00",
"[19]\\d{8}",
[9],
[[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[19]"],
"0$1"
]],
"0"
],
"ST": [
"239",
"00",
"(?:22|9\\d)\\d{5}",
[7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[29]"]
]]
],
"SV": [
"503",
"00",
"[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?",
[
7,
8,
11
],
[
[
"(\\d{3})(\\d{4})",
"$1 $2",
["[89]"]
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[25-7]"]
],
[
"(\\d{3})(\\d{4})(\\d{4})",
"$1 $2 $3",
["[89]"]
]
]
],
"SX": [
"1",
"011",
"7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"(5\\d{6})$|1",
"721$1",
0,
"721"
],
"SY": [
"963",
"00",
"[1-359]\\d{8}|[1-5]\\d{7}",
[8, 9],
[[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[1-4]|5[1-3]"],
"0$1",
1
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[59]"],
"0$1",
1
]],
"0"
],
"SZ": [
"268",
"00",
"0800\\d{4}|(?:[237]\\d|900)\\d{6}",
[8, 9],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[0237]"]
], [
"(\\d{5})(\\d{4})",
"$1 $2",
["9"]
]]
],
"TA": [
"290",
"00",
"8\\d{3}",
[4],
0,
0,
0,
0,
0,
0,
"8"
],
"TC": [
"1",
"011",
"(?:[58]\\d\\d|649|900)\\d{7}",
[10],
0,
"1",
0,
"([2-479]\\d{6})$|1",
"649$1",
0,
"649"
],
"TD": [
"235",
"00|16",
"(?:22|[3689]\\d|77)\\d{6}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[236-9]"]
]],
0,
0,
0,
0,
0,
0,
0,
"00"
],
"TG": [
"228",
"00",
"[279]\\d{7}",
[8],
[[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[279]"]
]]
],
"TH": [
"66",
"00[1-9]",
"(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",
[
8,
9,
10,
13
],
[
[
"(\\d)(\\d{3})(\\d{4})",
"$1 $2 $3",
["2"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[13-9]"],
"0$1"
],
[
"(\\d{4})(\\d{3})(\\d{3})",
"$1 $2 $3",
["1"]
]
],
"0"
],
"TJ": [
"992",
"810",
"(?:[0-57-9]\\d|66)\\d{7}",
[9],
[
[
"(\\d{6})(\\d)(\\d{2})",
"$1 $2 $3",
["331", "3317"]
],
[
"(\\d{3})(\\d{2})(\\d{4})",
"$1 $2 $3",
["44[02-479]|[34]7"]
],
[
"(\\d{4})(\\d)(\\d{4})",
"$1 $2 $3",
["3(?:[1245]|3[12])"]
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["\\d"]
]
],
0,
0,
0,
0,
0,
0,
0,
"8~10"
],
"TK": [
"690",
"00",
"[2-47]\\d{3,6}",
[
4,
5,
6,
7
]
],
"TL": [
"670",
"00",
"7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",
[7, 8],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[2-489]|70"]
], [
"(\\d{4})(\\d{4})",
"$1 $2",
["7"]
]]
],
"TM": [
"993",
"810",
"[1-7]\\d{7}",
[8],
[
[
"(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2-$3-$4",
["12"],
"(8 $1)"
],
[
"(\\d{3})(\\d)(\\d{2})(\\d{2})",
"$1 $2-$3-$4",
["[1-5]"],
"(8 $1)"
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["[67]"],
"8 $1"
]
],
"8",
0,
0,
0,
0,
0,
0,
"8~10"
],
"TN": [
"216",
"00",
"[2-57-9]\\d{7}",
[8],
[[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2-57-9]"]
]]
],
"TO": [
"676",
"00",
"(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",
[5, 7],
[
[
"(\\d{2})(\\d{3})",
"$1-$2",
["[2-4]|50|6[09]|7[0-24-69]|8[05]"]
],
[
"(\\d{4})(\\d{3})",
"$1 $2",
["0"]
],
[
"(\\d{3})(\\d{4})",
"$1 $2",
["[5-9]"]
]
]
],
"TR": [
"90",
"00",
"4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",
[
7,
10,
12,
13
],
[
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["512|8[01589]|90"],
"0$1",
1
],
[
"(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["5"],
"0$1",
1
],
[
"(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[24][1-8]|3[1-9]"],
"(0$1)",
1
],
[
"(\\d{3})(\\d{3})(\\d{6,7})",
"$1 $2 $3",
["80"],
"0$1",
1
]
],
"0"
],
"TT": [
"1",
"011",
"(?:[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-46-8]\\d{6})$|1",
"868$1",
0,
"868"
],
"TV": [
"688",
"00",
"(?:2|7\\d\\d|90)\\d{4}",
[
5,
6,
7
],
[
[
"(\\d{2})(\\d{3})",
"$1 $2",
["2"]
],
[
"(\\d{2})(\\d{4})",
"$1 $2",
["90"]
],
[
"(\\d{2})(\\d{5})",
"$1 $2",
["7"]
]
]
],
"TW": [
"886",
"0(?:0[25-79]|19)",
"[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",
[
7,
8,
9,
10,
11
],
[
[
"(\\d{2})(\\d)(\\d{4})",
"$1 $2 $3",
["202"],
"0$1"
],
[
"(\\d{3})(\\d{5})",
"$1 $2",
["826"],
"0$1"
],
[
"(\\d{3})(\\d{2})(\\d{3})",
"$1 $2 $3",
["83"],
"0$1"
],
[
"(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3",
["82"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[25]0|37|49|8[09]"],
"0$1"
],
[
"(\\d)(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?:400|7)[1-9]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[49]"],
"0$1"
],
[
"(\\d{2})(\\d{4})(\\d{4,5})",
"$1 $2 $3",
["7"],
"0$1"
]
],
"0",
0,
0,
0,
0,
0,
0,
0,
"#"
],
"TZ": [
"255",
"00[056]",
"(?:[25-8]\\d|41|90)\\d{7}",
[9],
[
[
"(\\d{3})(\\d{2})(\\d{4})",
"$1 $2 $3",
["[89]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[24]"],
"0$1"
],
[
"(\\d{2})(\\d{7})",
"$1 $2",
["5"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[67]"],
"0$1"
]
],
"0"
],
"UA": [
"380",
"00",
"[89]\\d{9}|[3-9]\\d{8}",
[9, 10],
[
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],
"0$1"
],
[
"(\\d{4})(\\d{5})",
"$1 $2",
["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[3-7]|89|9[1-9]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[89]"],
"0$1"
]
],
"0",
0,
0,
0,
0,
0,
0,
"0~0"
],
"UG": [
"256",
"00[057]",
"800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",
[9],
[
[
"(\\d{4})(\\d{5})",
"$1 $2",
[
"202",
"2024",
"20240"
],
"0$1"
],
[
"(\\d{3})(\\d{6})",
"$1 $2",
["20[0-35-7]|4(?:6[45]|[7-9])|[7-9]", "20(?:[0135-7]|2[5-9])|4(?:6[45]|[7-9])|[7-9]"],
"0$1"
],
[
"(\\d{2})(\\d{7})",
"$1 $2",
["[2-4]"],
"0$1"
]
],
"0"
],
"US": [
"1",
"011",
"[2-9]\\d{9}|3\\d{6}",
[10],
[[
"(\\d{3})(\\d{4})",
"$1-$2",
["310"],
0,
1
], [
"(\\d{3})(\\d{3})(\\d{4})",
"($1) $2-$3",
["[2-9]"],
0,
1,
"$1-$2-$3"
]],
"1",
0,
0,
0,
0,
0,
[
["(?:472[2-47-9]|983[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[02469]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"],
[""],
["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],
["900[2-9]\\d{6}"],
["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]
]
],
"UY": [
"598",
"0(?:0|1[3-9]\\d)",
"0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}",
[
4,
5,
6,
7,
8,
9,
10,
11,
12,
13
],
[
[
"(\\d{4,5})",
"$1",
["21"]
],
[
"(\\d{3})(\\d{3,4})",
"$1 $2",
["0"]
],
[
"(\\d{3})(\\d{4})",
"$1 $2",
["[49]0|8"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["9"],
"0$1"
],
[
"(\\d{4})(\\d{4})",
"$1 $2",
["[124]"]
],
[
"(\\d{3})(\\d{3})(\\d{2,4})",
"$1 $2 $3",
["0"]
],
[
"(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})",
"$1 $2 $3 $4",
["0"]
]
],
"0",
0,
0,
0,
0,
0,
0,
"00",
" int. "
],
"UZ": [
"998",
"00",
"(?:20|33|[5-9]\\d)\\d{7}",
[9],
[[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["[235-9]"]
]]
],
"VA": [
"39",
"00",
"0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",
[
6,
7,
8,
9,
10,
11,
12
],
0,
0,
0,
0,
0,
0,
"06698"
],
"VC": [
"1",
"011",
"(?:[58]\\d\\d|784|900)\\d{7}",
[10],
0,
"1",
0,
"([2-7]\\d{6})$|1",
"784$1",
0,
"784"
],
"VE": [
"58",
"00",
"[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",
[10],
[[
"(\\d{3})(\\d{7})",
"$1-$2",
["[24-689]"],
"0$1"
]],
"0"
],
"VG": [
"1",
"011",
"(?:284|[58]\\d\\d|900)\\d{7}",
[10],
0,
"1",
0,
"([2-578]\\d{6})$|1",
"284$1",
0,
"284"
],
"VI": [
"1",
"011",
"[58]\\d{9}|(?:34|90)0\\d{7}",
[10],
0,
"1",
0,
"([2-9]\\d{6})$|1",
"340$1",
0,
"340"
],
"VN": [
"84",
"00",
"[12]\\d{9}|[135-9]\\d{8}|[16]\\d{6,7}|7\\d{6}",
[
7,
8,
9,
10
],
[
[
"(\\d{4})(\\d{4,6})",
"$1 $2",
["1(?:2[02]|[89])"],
0,
1
],
[
"(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["1[26]|6"],
"0$1",
1
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[357-9]"],
"0$1",
1
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["2[48]"],
"0$1",
1
],
[
"(\\d{3})(\\d{4})(\\d{3})",
"$1 $2 $3",
["2"],
"0$1",
1
]
],
"0"
],
"VU": [
"678",
"00",
"[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",
[5, 7],
[[
"(\\d{3})(\\d{4})",
"$1 $2",
["[57-9]"]
]]
],
"WF": [
"681",
"00",
"(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}",
[6, 9],
[[
"(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3",
["[47-9]"]
], [
"(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
"$1 $2 $3 $4",
["8"]
]]
],
"WS": [
"685",
"0",
"(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",
[
5,
6,
7,
10
],
[
[
"(\\d{5})",
"$1",
["[2-5]|6[1-9]"]
],
[
"(\\d{3})(\\d{3,7})",
"$1 $2",
["[68]"]
],
[
"(\\d{2})(\\d{5})",
"$1 $2",
["7"]
]
]
],
"XK": [
"383",
"00",
"2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}",
[
8,
9,
10,
11,
12
],
[
[
"(\\d{3})(\\d{5})",
"$1 $2",
["[89]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[2-4]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["2|39"],
"0$1"
],
[
"(\\d{2})(\\d{7,10})",
"$1 $2",
["3"],
"0$1"
]
],
"0"
],
"YE": [
"967",
"00",
"(?:1|7\\d)\\d{7}|[1-7]\\d{6}",
[
7,
8,
9
],
[[
"(\\d)(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["[1-6]|7(?:[24-6]|8[0-7])"],
"0$1"
], [
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["7"],
"0$1"
]],
"0"
],
"YT": [
"262",
"00",
"(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}",
[9],
0,
"0",
0,
0,
0,
0,
0,
[
["26(?:89\\d|9(?:0[0-467]|15|5[0-4]|6\\d|[78]0))\\d{4}"],
["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"],
["80\\d{7}"],
0,
0,
0,
0,
0,
["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]
]
],
"ZA": [
"27",
"00",
"[1-79]\\d{8}|8\\d{4,9}",
[
5,
6,
7,
8,
9,
10
],
[
[
"(\\d{2})(\\d{3,4})",
"$1 $2",
["8[1-4]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{2,3})",
"$1 $2 $3",
["8[1-4]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["860"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["[1-9]"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["8"],
"0$1"
]
],
"0"
],
"ZM": [
"260",
"00",
"800\\d{6}|(?:21|[579]\\d|63)\\d{7}",
[9],
[[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[28]"],
"0$1"
], [
"(\\d{2})(\\d{7})",
"$1 $2",
["[579]"],
"0$1"
]],
"0"
],
"ZW": [
"263",
"00",
"2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",
[
5,
6,
7,
8,
9,
10
],
[
[
"(\\d{3})(\\d{3,5})",
"$1 $2",
["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],
"0$1"
],
[
"(\\d)(\\d{3})(\\d{2,4})",
"$1 $2 $3",
["[49]"],
"0$1"
],
[
"(\\d{3})(\\d{4})",
"$1 $2",
["80"],
"0$1"
],
[
"(\\d{2})(\\d{7})",
"$1 $2",
["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],
"(0$1)"
],
[
"(\\d{2})(\\d{3})(\\d{4})",
"$1 $2 $3",
["7"],
"0$1"
],
[
"(\\d{3})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],
"0$1"
],
[
"(\\d{4})(\\d{6})",
"$1 $2",
["8"],
"0$1"
],
[
"(\\d{2})(\\d{3,5})",
"$1 $2",
["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],
"0$1"
],
[
"(\\d{2})(\\d{3})(\\d{3,4})",
"$1 $2 $3",
["29[013-9]|39|54"],
"0$1"
],
[
"(\\d{4})(\\d{3,5})",
"$1 $2",
["(?:25|54)8", "258|5483"],
"0$1"
]
],
"0"
]
},
"nonGeographic": {
"800": [
"800",
0,
"(?:00|[1-9]\\d)\\d{6}",
[8],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["\\d"]
]],
0,
0,
0,
0,
0,
0,
[
0,
0,
["(?:00|[1-9]\\d)\\d{6}"]
]
],
"808": [
"808",
0,
"[1-9]\\d{7}",
[8],
[[
"(\\d{4})(\\d{4})",
"$1 $2",
["[1-9]"]
]],
0,
0,
0,
0,
0,
0,
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
["[1-9]\\d{7}"]
]
],
"870": [
"870",
0,
"7\\d{11}|[235-7]\\d{8}",
[9, 12],
[[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["[235-7]"]
]],
0,
0,
0,
0,
0,
0,
[
0,
["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"],
0,
0,
0,
0,
0,
0,
["2\\d{8}", [9]]
]
],
"878": [
"878",
0,
"10\\d{10}",
[12],
[[
"(\\d{2})(\\d{5})(\\d{5})",
"$1 $2 $3",
["1"]
]],
0,
0,
0,
0,
0,
0,
[
0,
0,
0,
0,
0,
0,
0,
0,
["10\\d{10}"]
]
],
"881": [
"881",
0,
"6\\d{9}|[0-36-9]\\d{8}",
[9, 10],
[[
"(\\d)(\\d{3})(\\d{5})",
"$1 $2 $3",
["[0-37-9]"]
], [
"(\\d)(\\d{3})(\\d{5,6})",
"$1 $2 $3",
["6"]
]],
0,
0,
0,
0,
0,
0,
[0, ["6\\d{9}|[0-36-9]\\d{8}"]]
],
"882": [
"882",
0,
"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",
[
7,
8,
9,
10,
11,
12
],
[
[
"(\\d{2})(\\d{5})",
"$1 $2",
["16|342"]
],
[
"(\\d{2})(\\d{6})",
"$1 $2",
["49"]
],
[
"(\\d{2})(\\d{2})(\\d{4})",
"$1 $2 $3",
["1[36]|9"]
],
[
"(\\d{2})(\\d{4})(\\d{3})",
"$1 $2 $3",
["3[23]"]
],
[
"(\\d{2})(\\d{3,4})(\\d{4})",
"$1 $2 $3",
["16"]
],
[
"(\\d{2})(\\d{4})(\\d{4})",
"$1 $2 $3",
["10|23|3(?:[15]|4[57])|4|5[12]"]
],
[
"(\\d{3})(\\d{4})(\\d{4})",
"$1 $2 $3",
["34"]
],
[
"(\\d{2})(\\d{4,5})(\\d{5})",
"$1 $2 $3",
["[1-35]"]
]
],
0,
0,
0,
0,
0,
0,
[
0,
["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [
7,
8,
9,
10,
12
]],
0,
0,
0,
["348[57]\\d{7}", [11]],
0,
0,
["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]
]
],
"883": [
"883",
0,
"(?:[1-4]\\d|51)\\d{6,10}",
[
8,
9,
10,
11,
12
],
[
[
"(\\d{3})(\\d{3})(\\d{2,8})",
"$1 $2 $3",
["[14]|2[24-689]|3[02-689]|51[24-9]"]
],
[
"(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3",
["510"]
],
[
"(\\d{3})(\\d{3})(\\d{4})",
"$1 $2 $3",
["21"]
],
[
"(\\d{4})(\\d{4})(\\d{4})",
"$1 $2 $3",
["51[13]"]
],
[
"(\\d{3})(\\d{3})(\\d{3})(\\d{3})",
"$1 $2 $3 $4",
["[235]"]
]
],
0,
0,
0,
0,
0,
0,
[
0,
0,
0,
0,
0,
0,
0,
0,
["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]
]
],
"888": [
"888",
0,
"\\d{11}",
[11],
[["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]],
0,
0,
0,
0,
0,
0,
[
0,
0,
0,
0,
0,
0,
["\\d{11}"]
]
],
"979": [
"979",
0,
"[1359]\\d{8}",
[9],
[[
"(\\d)(\\d{4})(\\d{4})",
"$1 $2 $3",
["[1359]"]
]],
0,
0,
0,
0,
0,
0,
[
0,
0,
0,
["[1359]\\d{8}"]
]
]
}
};
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/min/exports/withMetadataArgument.js
function withMetadataArgument(func, _arguments) {
var args = Array.prototype.slice.call(_arguments);
args.push(metadata_min_json_default);
return func.apply(this, args);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/tools/semver-compare.js
function semver_compare_default(a, b) {
a = a.split("-");
b = b.split("-");
var pa = a[0].split(".");
var pb = b[0].split(".");
for (var i = 0; i < 3; i++) {
var na = Number(pa[i]);
var nb = Number(pb[i]);
if (na > nb) return 1;
if (nb > na) return -1;
if (!isNaN(na) && isNaN(nb)) return 1;
if (isNaN(na) && !isNaN(nb)) return -1;
}
if (a[1] && b[1]) return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;
return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/isObject.js
var objectConstructor = {}.constructor;
function isObject(object) {
return object !== void 0 && object !== null && object.constructor === objectConstructor;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/isCallingCode.js
var CALLING_CODE_REG_EXP = /^\d+$/;
function isCallingCode(string) {
return CALLING_CODE_REG_EXP.test(string);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/metadata.js
function _typeof$5(o) {
"@babel/helpers - typeof";
return _typeof$5 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof$5(o);
}
function _classCallCheck$2(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties$2(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$5(o.key), o);
}
}
function _createClass$2(e, r, t) {
return r && _defineProperties$2(e.prototype, r), t && _defineProperties$2(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
}
function _toPropertyKey$5(t) {
var i = _toPrimitive$5(t, "string");
return "symbol" == _typeof$5(i) ? i : i + "";
}
function _toPrimitive$5(t, r) {
if ("object" != _typeof$5(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof$5(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
var V3 = "1.2.0";
var V4 = "1.7.35";
var DEFAULT_EXT_PREFIX = " ext. ";
/**
* See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md
*/
var Metadata = /*#__PURE__*/ function() {
/**
* @param {object} metadata — Metadata JSON.
*/
function Metadata(metadata) {
_classCallCheck$2(this, Metadata);
validateMetadata(metadata);
this.metadata = metadata;
setVersion.call(this, metadata);
}
return _createClass$2(Metadata, [
{
key: "getCountries",
value: function getCountries() {
return Object.keys(this.metadata.countries).filter(function(_) {
return _ !== "001";
});
}
},
{
key: "getCountryMetadata",
value: function getCountryMetadata(countryCode) {
return this.metadata.countries[countryCode];
}
},
{
key: "nonGeographic",
value: function nonGeographic() {
if (this.v1 || this.v2 || this.v3) return;
return this.metadata.nonGeographic || this.metadata.nonGeographical;
}
},
{
key: "hasCountry",
value: function hasCountry(country) {
return this.getCountryMetadata(country) !== void 0;
}
},
{
key: "hasCallingCode",
value: function hasCallingCode(callingCode) {
if (this.getCountryCodesForCallingCode(callingCode)) return true;
if (this.nonGeographic()) {
if (this.nonGeographic()[callingCode]) return true;
} else {
var countryCodes = this.countryCallingCodes()[callingCode];
if (countryCodes && countryCodes.length === 1 && countryCodes[0] === "001") return true;
}
}
},
{
key: "isNonGeographicCallingCode",
value: function isNonGeographicCallingCode(callingCode) {
if (this.nonGeographic()) return this.nonGeographic()[callingCode] ? true : false;
else return this.getCountryCodesForCallingCode(callingCode) ? false : true;
}
},
{
key: "country",
value: function country(countryCode) {
return this.selectNumberingPlan(countryCode);
}
},
{
key: "selectNumberingPlan",
value: function selectNumberingPlan(argument, legacyArgumentCallingCode) {
var countryCode;
var callingCode;
if (argument) {
if (isCallingCode(argument)) callingCode = argument;
else countryCode = argument;
}
if (legacyArgumentCallingCode) callingCode = legacyArgumentCallingCode;
if (countryCode && countryCode !== "001") {
var countryMetadata = this.getCountryMetadata(countryCode);
if (!countryMetadata) throw new Error("Unknown country: ".concat(countryCode));
this.numberingPlan = new NumberingPlan(countryMetadata, this);
} else if (callingCode) {
if (!this.hasCallingCode(callingCode)) throw new Error("Unknown calling code: ".concat(callingCode));
this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);
} else this.numberingPlan = void 0;
return this;
}
},
{
key: "getCountryCodesForCallingCode",
value: function getCountryCodesForCallingCode(callingCode) {
var countryCodes = this.countryCallingCodes()[callingCode];
if (countryCodes) {
if (countryCodes.length === 1 && countryCodes[0].length === 3) return;
return countryCodes;
}
}
},
{
key: "getCountryCodeForCallingCode",
value: function getCountryCodeForCallingCode(callingCode) {
var countryCodes = this.getCountryCodesForCallingCode(callingCode);
if (countryCodes) return countryCodes[0];
}
},
{
key: "getNumberingPlanMetadata",
value: function getNumberingPlanMetadata(callingCode) {
var countryCode = this.getCountryCodeForCallingCode(callingCode);
if (countryCode) return this.getCountryMetadata(countryCode);
if (this.nonGeographic()) {
var metadata = this.nonGeographic()[callingCode];
if (metadata) return metadata;
} else {
var countryCodes = this.countryCallingCodes()[callingCode];
if (countryCodes && countryCodes.length === 1 && countryCodes[0] === "001") return this.metadata.countries["001"];
}
}
},
{
key: "countryCallingCode",
value: function countryCallingCode() {
return this.numberingPlan.callingCode();
}
},
{
key: "IDDPrefix",
value: function IDDPrefix() {
return this.numberingPlan.IDDPrefix();
}
},
{
key: "defaultIDDPrefix",
value: function defaultIDDPrefix() {
return this.numberingPlan.defaultIDDPrefix();
}
},
{
key: "nationalNumberPattern",
value: function nationalNumberPattern() {
return this.numberingPlan.nationalNumberPattern();
}
},
{
key: "possibleLengths",
value: function possibleLengths() {
return this.numberingPlan.possibleLengths();
}
},
{
key: "formats",
value: function formats() {
return this.numberingPlan.formats();
}
},
{
key: "nationalPrefixForParsing",
value: function nationalPrefixForParsing() {
return this.numberingPlan.nationalPrefixForParsing();
}
},
{
key: "nationalPrefixTransformRule",
value: function nationalPrefixTransformRule() {
return this.numberingPlan.nationalPrefixTransformRule();
}
},
{
key: "leadingDigits",
value: function leadingDigits() {
return this.numberingPlan.leadingDigits();
}
},
{
key: "hasTypes",
value: function hasTypes() {
return this.numberingPlan.hasTypes();
}
},
{
key: "type",
value: function type(_type) {
return this.numberingPlan.type(_type);
}
},
{
key: "ext",
value: function ext() {
return this.numberingPlan.ext();
}
},
{
key: "countryCallingCodes",
value: function countryCallingCodes() {
if (this.v1) return this.metadata.country_phone_code_to_countries;
return this.metadata.country_calling_codes;
}
},
{
key: "chooseCountryByCountryCallingCode",
value: function chooseCountryByCountryCallingCode(callingCode) {
return this.selectNumberingPlan(callingCode);
}
},
{
key: "hasSelectedNumberingPlan",
value: function hasSelectedNumberingPlan() {
return this.numberingPlan !== void 0;
}
}
]);
}();
var NumberingPlan = /*#__PURE__*/ function() {
function NumberingPlan(metadata, globalMetadataObject) {
_classCallCheck$2(this, NumberingPlan);
this.globalMetadataObject = globalMetadataObject;
this.metadata = metadata;
setVersion.call(this, globalMetadataObject.metadata);
}
return _createClass$2(NumberingPlan, [
{
key: "callingCode",
value: function callingCode() {
return this.metadata[0];
}
},
{
key: "_getDefaultCountryMetadataForThisCallingCode",
value: function _getDefaultCountryMetadataForThisCallingCode() {
return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
}
},
{
key: "getDefaultCountryMetadataForRegion",
value: function getDefaultCountryMetadataForRegion() {
return this._getDefaultCountryMetadataForThisCallingCode();
}
},
{
key: "IDDPrefix",
value: function IDDPrefix() {
if (this.v1 || this.v2) return;
return this.metadata[1];
}
},
{
key: "defaultIDDPrefix",
value: function defaultIDDPrefix() {
if (this.v1 || this.v2) return;
return this.metadata[12];
}
},
{
key: "nationalNumberPattern",
value: function nationalNumberPattern() {
if (this.v1 || this.v2) return this.metadata[1];
return this.metadata[2];
}
},
{
key: "possibleLengths",
value: function possibleLengths() {
if (this.v1) return;
return this.metadata[this.v2 ? 2 : 3];
}
},
{
key: "_getFormats",
value: function _getFormats(metadata) {
return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];
}
},
{
key: "formats",
value: function formats() {
var _this = this;
return (this._getFormats(this.metadata) || this._getFormats(this._getDefaultCountryMetadataForThisCallingCode()) || []).map(function(_) {
return new Format(_, _this);
});
}
},
{
key: "nationalPrefix",
value: function nationalPrefix() {
return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
}
},
{
key: "_getNationalPrefixFormattingRule",
value: function _getNationalPrefixFormattingRule(metadata) {
return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];
}
},
{
key: "nationalPrefixFormattingRule",
value: function nationalPrefixFormattingRule() {
return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this._getDefaultCountryMetadataForThisCallingCode());
}
},
{
key: "_nationalPrefixForParsing",
value: function _nationalPrefixForParsing() {
return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
}
},
{
key: "nationalPrefixForParsing",
value: function nationalPrefixForParsing() {
return this._nationalPrefixForParsing() || this.nationalPrefix();
}
},
{
key: "nationalPrefixTransformRule",
value: function nationalPrefixTransformRule() {
return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
}
},
{
key: "_getNationalPrefixIsOptionalWhenFormatting",
value: function _getNationalPrefixIsOptionalWhenFormatting() {
return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
}
},
{
key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {
return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this._getDefaultCountryMetadataForThisCallingCode());
}
},
{
key: "leadingDigits",
value: function leadingDigits() {
return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
}
},
{
key: "types",
value: function types() {
return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
}
},
{
key: "hasTypes",
value: function hasTypes() {
/* istanbul ignore next */
if (this.types() && this.types().length === 0) return false;
return !!this.types();
}
},
{
key: "type",
value: function type(_type2) {
if (this.hasTypes() && getType(this.types(), _type2)) return new Type(getType(this.types(), _type2), this);
}
},
{
key: "ext",
value: function ext() {
if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;
return this.metadata[13] || DEFAULT_EXT_PREFIX;
}
}
]);
}();
var Format = /*#__PURE__*/ function() {
function Format(format, metadata) {
_classCallCheck$2(this, Format);
this._format = format;
this.metadata = metadata;
}
return _createClass$2(Format, [
{
key: "pattern",
value: function pattern() {
return this._format[0];
}
},
{
key: "format",
value: function format() {
return this._format[1];
}
},
{
key: "leadingDigitsPatterns",
value: function leadingDigitsPatterns() {
return this._format[2] || [];
}
},
{
key: "nationalPrefixFormattingRule",
value: function nationalPrefixFormattingRule() {
return this._format[3] || this.metadata.nationalPrefixFormattingRule();
}
},
{
key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {
return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
}
},
{
key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {
return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
}
},
{
key: "usesNationalPrefix",
value: function usesNationalPrefix() {
return this.nationalPrefixFormattingRule() && !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) ? true : false;
}
},
{
key: "internationalFormat",
value: function internationalFormat() {
return this._format[5] || this.format();
}
}
]);
}();
/**
* A pattern that is used to determine if the national prefix formatting rule
* has the first group only, i.e., does not start with the national prefix.
* Note that the pattern explicitly allows for unbalanced parentheses.
*/
var FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\(?\$1\)?$/;
var Type = /*#__PURE__*/ function() {
function Type(type, metadata) {
_classCallCheck$2(this, Type);
this.type = type;
this.metadata = metadata;
}
return _createClass$2(Type, [{
key: "pattern",
value: function pattern() {
if (this.metadata.v1) return this.type;
return this.type[0];
}
}, {
key: "possibleLengths",
value: function possibleLengths() {
if (this.metadata.v1) return;
return this.type[1] || this.metadata.possibleLengths();
}
}]);
}();
function getType(types, type) {
switch (type) {
case "FIXED_LINE": return types[0];
case "MOBILE": return types[1];
case "TOLL_FREE": return types[2];
case "PREMIUM_RATE": return types[3];
case "PERSONAL_NUMBER": return types[4];
case "VOICEMAIL": return types[5];
case "UAN": return types[6];
case "PAGER": return types[7];
case "VOIP": return types[8];
case "SHARED_COST": return types[9];
}
}
function validateMetadata(metadata) {
if (!metadata) throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
if (!isObject(metadata) || !isObject(metadata.countries)) throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(isObject(metadata) ? "an object of shape: { " + Object.keys(metadata).join(", ") + " }" : "a " + typeOf(metadata) + ": " + metadata, "."));
}
/* istanbul ignore next */
var typeOf = function typeOf(_) {
return _typeof$5(_);
};
/**
* Returns "country calling code" for a country.
* Throws an error if the country doesn't exist or isn't supported by this library.
* @param {string} country
* @param {object} metadataJson
* @return {string}
* @example
* // Returns "44"
* getCountryCallingCode("GB")
*/
function getCountryCallingCode$1(country, metadataJson) {
var metadata = new Metadata(metadataJson);
if (metadata.hasCountry(country)) return metadata.selectNumberingPlan(country).countryCallingCode();
throw new Error("Unknown country: ".concat(country));
}
/**
* Tells if a country code is supported.
* @param {string} country
* @param {object} metadataJson
* @return {boolean}
* @example
* // Returns `true`
* isSupportedCountry("GB")
*/
function isSupportedCountry(country, metadataJson) {
return metadataJson.countries.hasOwnProperty(country);
}
/**
* Sets `v1`/`v2`/`v3`/`v4` properties on `this` object.
* @param {object} metadata — Metadata JSON
*/
function setVersion(metadata) {
var version = metadata.version;
if (typeof version === "number") {
this.v1 = version === 1;
this.v2 = version === 2;
this.v3 = version === 3;
this.v4 = version === 4;
} else if (!version) this.v1 = true;
else if (semver_compare_default(version, V3) === -1) this.v2 = true;
else if (semver_compare_default(version, V4) === -1) this.v3 = true;
else this.v4 = true;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/mergeArrays.js
function _createForOfIteratorHelperLoose$3(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (t) return (t = t.call(r)).next.bind(t);
if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(r)) || e && r && "number" == typeof r.length) {
t && (r = t);
var o = 0;
return function() {
return o >= r.length ? { done: !0 } : {
done: !1,
value: r[o++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$4(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray$4(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$4(r, a) : void 0;
}
}
function _arrayLikeToArray$4(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
/**
* Merges two arrays.
* @param {*} a
* @param {*} b
* @return {*}
*/
function mergeArrays(a, b) {
var merged = a.slice();
for (var _iterator = _createForOfIteratorHelperLoose$3(b), _step; !(_step = _iterator()).done;) {
var element = _step.value;
if (a.indexOf(element) < 0) merged.push(element);
}
return merged.sort(function(a, b) {
return a - b;
});
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js
/**
* Checks phone number length against the phone numbering plan selected in metadata.
* Optionally, it could be restrained by a specific country.
* @param {string} nationalNumber
* @param {string?} country — Specific country to use rather than the one that is pre-selected in the metadata instance.
* @param {Metadata} metadata — Metadata instance with a selected numbering plan.
* @returns {string}
*/
function checkNumberLength(nationalNumber, country, metadata) {
return checkNumberLengthForType(nationalNumber, void 0, country, metadata);
}
/**
* Checks phone number length against the phone numbering plan selected in metadata.
* Optionally, it could be restrained by a specific phone number type or a specific country.
* @param {string} nationalNumber
* @param {string?} type — Specific phone number type.
* @param {string?} country — Specific country to use instead of the one that is pre-selected in the metadata instance.
* @param {Metadata} metadata — Metadata instance with a selected numbering plan.
* @returns {string} See the README on `validatePhoneNumberLength()` function, with an addition of a special case: when phone numbers of type `type` aren't possible in the telephone numbering plan, it will return "INVALID_LENGTH".
*/
function checkNumberLengthForType(nationalNumber, type, country, metadata) {
if (country) {
metadata = new Metadata(metadata.metadata);
metadata.selectNumberingPlan(country);
}
var type_info = metadata.type(type);
var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths();
if (!possible_lengths) return "IS_POSSIBLE";
if (type === "FIXED_LINE_OR_MOBILE") {
/* istanbul ignore next */
if (!metadata.type("FIXED_LINE")) return checkNumberLengthForType(nationalNumber, "MOBILE", country, metadata);
var mobile_type = metadata.type("MOBILE");
if (mobile_type) possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());
} else if (type && !type_info) return "INVALID_LENGTH";
var actual_length = nationalNumber.length;
var minimum_length = possible_lengths[0];
if (minimum_length === actual_length) return "IS_POSSIBLE";
if (minimum_length > actual_length) return "TOO_SHORT";
if (possible_lengths[possible_lengths.length - 1] < actual_length) return "TOO_LONG";
return possible_lengths.indexOf(actual_length, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/isPossible.js
/**
* Checks if a phone number is "possible" (basically just checks its length).
*
* isPossible(phoneNumberInstance, { ..., v2: true }, metadata)
*
* isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)
* isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)
*
* @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.
* @param {object} [options]
* @param {object} metadataJson
* @return {string}
*/
function isPossiblePhoneNumber(input, options, metadataJson) {
/* istanbul ignore if */
if (options === void 0) options = {};
var metadata = new Metadata(metadataJson);
if (options.v2) {
if (!input.countryCallingCode) throw new Error("Invalid phone number object passed");
metadata.selectNumberingPlan(input.country || input.countryCallingCode);
} else {
if (!input.phone) return false;
if (input.country) {
if (!metadata.hasCountry(input.country)) throw new Error("Unknown country: ".concat(input.country));
metadata.selectNumberingPlan(input.country);
} else {
if (!input.countryCallingCode) throw new Error("Invalid phone number object passed");
metadata.selectNumberingPlan(input.countryCallingCode);
}
}
if (metadata.possibleLengths()) return isPossibleNumber(input.phone || input.nationalNumber, metadata);
if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) return true;
throw new Error("Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.");
}
/**
* Tells if a given national (significant) number is possible
* @param {string} nationalNumber
* @param {Metadata} metadata = Metadata instance with a pre-selected telephone numbering plan.
* @returns {boolean}
*/
function isPossibleNumber(nationalNumber, metadata) {
switch (checkNumberLength(nationalNumber, void 0, metadata)) {
case "IS_POSSIBLE": return true;
default: return false;
}
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js
/**
* Checks whether the entire input sequence can be matched
* against the regular expression.
* @return {boolean}
*/
function matchesEntirely(text, regularExpressionText) {
text = text || "";
return new RegExp("^(?:" + regularExpressionText + ")$").test(text);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/getNumberType.js
function _createForOfIteratorHelperLoose$2(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (t) return (t = t.call(r)).next.bind(t);
if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e && r && "number" == typeof r.length) {
t && (r = t);
var o = 0;
return function() {
return o >= r.length ? { done: !0 } : {
done: !1,
value: r[o++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$3(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray$3(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0;
}
}
function _arrayLikeToArray$3(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
var NON_FIXED_LINE_PHONE_TYPES = [
"MOBILE",
"PREMIUM_RATE",
"TOLL_FREE",
"SHARED_COST",
"VOIP",
"PERSONAL_NUMBER",
"PAGER",
"UAN",
"VOICEMAIL"
];
function getNumberType(input, options, metadataJson) {
options = options || {};
if (!input.country && !input.countryCallingCode) return;
var metadata = new Metadata(metadataJson);
metadata.selectNumberingPlan(input.country || input.countryCallingCode);
var nationalNumber = options.v2 ? input.nationalNumber : input.phone;
if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) return;
if (isNumberTypeEqualTo(nationalNumber, "FIXED_LINE", metadata)) {
if (metadata.type("MOBILE") && metadata.type("MOBILE").pattern() === "") return "FIXED_LINE_OR_MOBILE";
if (!metadata.type("MOBILE")) return "FIXED_LINE_OR_MOBILE";
/* istanbul ignore if */
if (isNumberTypeEqualTo(nationalNumber, "MOBILE", metadata)) return "FIXED_LINE_OR_MOBILE";
return "FIXED_LINE";
}
for (var _iterator = _createForOfIteratorHelperLoose$2(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {
var type = _step.value;
if (isNumberTypeEqualTo(nationalNumber, type, metadata)) return type;
}
}
function isNumberTypeEqualTo(nationalNumber, type, metadata) {
var typeDefinition = metadata.type(type);
if (!typeDefinition || !typeDefinition.pattern()) return false;
if (typeDefinition.possibleLengths() && typeDefinition.possibleLengths().indexOf(nationalNumber.length) < 0) return false;
return matchesEntirely(nationalNumber, typeDefinition.pattern());
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/isValid.js
/**
* Checks if a given phone number is valid.
*
* isValid(phoneNumberInstance, { ..., v2: true }, metadata)
*
* isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)
* isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)
*
* If the `number` is a string, it will be parsed to an object,
* but only if it contains only valid phone number characters (including punctuation).
* If the `number` is an object, it is used as is.
*
* The optional `defaultCountry` argument is the default country.
* I.e. it does not restrict to just that country,
* e.g. in those cases where several countries share
* the same phone numbering rules (NANPA, Britain, etc).
* For example, even though the number `07624 369230`
* belongs to the Isle of Man ("IM" country code)
* calling `isValidNumber('07624369230', 'GB', metadata)`
* still returns `true` because the country is not restricted to `GB`,
* it's just that `GB` is the default one for the phone numbering rules.
* For restricting the country see `isValidNumberForRegion()`
* though restricting a country might not be a good idea.
* https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion
*
* Examples:
*
* ```js
* isValidNumber('+78005553535', metadata)
* isValidNumber('8005553535', 'RU', metadata)
* isValidNumber('88005553535', 'RU', metadata)
* isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)
* ```
*/
function isValidNumber(input, options, metadataJson) {
options = options || {};
var metadata = new Metadata(metadataJson);
metadata.selectNumberingPlan(input.country || input.countryCallingCode);
if (metadata.hasTypes()) return getNumberType(input, options, metadata.metadata) !== void 0;
return matchesEntirely(options.v2 ? input.nationalNumber : input.phone, metadata.nationalNumberPattern());
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/isCountryCode.js
var COUNTRY_CODE_REG_EXP = /^[A-Z]{2}$/;
function isCountryCode(string) {
return COUNTRY_CODE_REG_EXP.test(string);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/getCountryAndCallingCodeFromOneOfThem.js
var USE_NON_GEOGRAPHIC_COUNTRY_CODE$2 = false;
function getCountryAndCallingCodeFromOneOfThem(countryOrCallingCode, metadataJson) {
var country;
var callingCode;
var metadata = new Metadata(metadataJson);
if (isCountryCode(countryOrCallingCode)) {
country = countryOrCallingCode;
metadata.selectNumberingPlan(country);
callingCode = metadata.countryCallingCode();
} else {
callingCode = countryOrCallingCode;
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE$2) {
if (metadata.isNonGeographicCallingCode(callingCode)) country = "001";
}
}
return {
country,
callingCode
};
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js
/**
* Returns a list of countries that the phone number could potentially belong to.
* @param {string} callingCode — Calling code.
* @param {string} nationalNumber — National (significant) number.
* @param {object} metadata — Metadata.
* @return {string[]} A list of possible countries.
*/
function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {
var possibleCountries = new Metadata(metadata).getCountryCodesForCallingCode(callingCode);
if (!possibleCountries) return [];
return possibleCountries.filter(function(country) {
return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);
});
}
function couldNationalNumberBelongToCountry(nationalNumber, country, metadataJson) {
var metadata = new Metadata(metadataJson);
metadata.selectNumberingPlan(country);
return metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/constants.js
var VALID_DIGITS = "0-90-9٠-٩۰-۹";
var VALID_PUNCTUATION = "".concat("-‐-―−ー-").concat("//").concat("..").concat(" \xA0 ").concat("()()[]\\[\\]").concat("~⁓∼~");
var PLUS_CHARS = "++";
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js
var CAPTURING_DIGIT_PATTERN = new RegExp("([" + VALID_DIGITS + "])");
function stripIddPrefix(number, country, callingCode, metadataJson) {
if (!country) return;
var metadata = new Metadata(metadataJson);
metadata.selectNumberingPlan(country || callingCode);
var IDDPrefixPattern = new RegExp(metadata.IDDPrefix());
if (number.search(IDDPrefixPattern) !== 0) return;
number = number.slice(number.match(IDDPrefixPattern)[0].length);
var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);
if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {
if (matchedGroups[1] === "0") return;
}
return number;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js
/**
* Strips any national prefix (such as 0, 1) present in a
* (possibly incomplete) number provided.
* "Carrier codes" are only used in Colombia and Brazil,
* and only when dialing within those countries from a mobile phone to a fixed line number.
* Sometimes it won't actually strip national prefix
* and will instead prepend some digits to the `number`:
* for example, when number `2345678` is passed with `VI` country selected,
* it will return `{ number: "3402345678" }`, because `340` area code is prepended.
* @param {string} number — National number digits.
* @param {object} metadata — Metadata with country selected.
* @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.
*/
function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {
if (number && metadata.numberingPlan.nationalPrefixForParsing()) {
var prefixPattern = new RegExp("^(?:" + metadata.numberingPlan.nationalPrefixForParsing() + ")");
var prefixMatch = prefixPattern.exec(number);
if (prefixMatch) {
var nationalNumber;
var carrierCode;
var capturedGroupsCount = prefixMatch.length - 1;
var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];
if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {
nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule());
if (capturedGroupsCount > 1) carrierCode = prefixMatch[1];
} else {
var prefixBeforeNationalNumber = prefixMatch[0];
nationalNumber = number.slice(prefixBeforeNationalNumber.length);
if (hasCapturedGroups) carrierCode = prefixMatch[1];
}
var nationalPrefix;
if (hasCapturedGroups) {
var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);
if (number.slice(0, possiblePositionOfTheFirstCapturedGroup) === metadata.numberingPlan.nationalPrefix()) nationalPrefix = metadata.numberingPlan.nationalPrefix();
} else nationalPrefix = prefixMatch[0];
return {
nationalNumber,
nationalPrefix,
carrierCode
};
}
}
return { nationalNumber: number };
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js
function _createForOfIteratorHelperLoose$1(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (t) return (t = t.call(r)).next.bind(t);
if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) {
t && (r = t);
var o = 0;
return function() {
return o >= r.length ? { done: !0 } : {
done: !1,
value: r[o++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$2(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray$2(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0;
}
}
function _arrayLikeToArray$2(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
/**
* Returns the exact country that a given national (significant) number belongs to
* in case of ambiguity, i.e. when multiple countries share the same "country calling code".
* @param {string} [nationalNumber]
* @param {string[]} countries — A list of countries that share the same calling code.
* @param {object} metadata — Metadata JSON.
* @returns {string?} Returns the exact country this number belongs to, or `undefined` if the exact country couldn't be determined.
*/
function getCountryByNationalNumber(nationalNumber, countries, metadataJson) {
var metadata = new Metadata(metadataJson);
for (var _iterator = _createForOfIteratorHelperLoose$1(countries), _step; !(_step = _iterator()).done;) {
var country = _step.value;
metadata.selectNumberingPlan(country);
if (metadata.leadingDigits()) {
if (nationalNumber && nationalNumber.search(metadata.leadingDigits()) === 0) return country;
} else if (getNumberType({
phone: nationalNumber,
country
}, void 0, metadata.metadata)) return country;
}
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js
var USE_NON_GEOGRAPHIC_COUNTRY_CODE$1 = false;
/**
* Returns the exact country that a given national (significant) number belongs to
* in case of ambiguity, i.e. when multiple countries share the same "country calling code".
* @param {string} [callingCode]
* @param {string} [options.nationalNumber] — National (significant) number.
* @param {Metadata} options.metadata — Metadata instance.
* @returns {string?} Returns the most suitable country for this calling code and national (significant) number.
*/
function getCountryByCallingCode(callingCode, _ref) {
var nationalNumber = _ref.nationalNumber, metadata = _ref.metadata;
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE$1) {
if (metadata.isNonGeographicCallingCode(callingCode)) return "001";
}
var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);
if (!possibleCountries) return;
if (possibleCountries.length === 1) return possibleCountries[0];
return getCountryByNationalNumber(nationalNumber, possibleCountries, metadata.metadata);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js
/**
* Strips national prefix and carrier code from a complete phone number.
* The difference from the non-"FromCompleteNumber" function is that
* it won't extract national prefix if the resultant number is too short
* to be a complete number for the selected phone numbering plan.
* @param {string} number — Complete phone number digits.
* @param {string?} country — Specific country to use instead of the one that is pre-selected in the metadata instance.
* @param {Metadata} metadata — Metadata instance with a selected numbering plan.
* @return {object} `{ nationalNumber: string, carrierCode: string? }`.
*/
function extractNationalNumber(number, country, metadata) {
var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata), carrierCode = _extractNationalNumbe.carrierCode, nationalNumber = _extractNationalNumbe.nationalNumber;
if (nationalNumber !== number) {
if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) return { nationalNumber: number };
if (metadata.numberingPlan.possibleLengths()) {
if (!country) country = getCountryByCallingCode(metadata.numberingPlan.callingCode(), {
nationalNumber,
metadata
});
if (!isPossibleIncompleteNationalNumber(nationalNumber, country, metadata)) return { nationalNumber: number };
}
}
return {
nationalNumber,
carrierCode
};
}
function shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {
if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) return false;
return true;
}
/**
* Tells if a given incomplete national number is possible or not.
* @param {string} nationalNumber
* @param {string?} country — Specific country rather than the one that is pre-selected in the metadata instance.
* @param {Metadata} metadata — Metadata instance with a selected numbering plan.
* @returns {boolean}
*/
function isPossibleIncompleteNationalNumber(nationalNumber, country, metadata) {
switch (checkNumberLength(nationalNumber, country, metadata)) {
case "TOO_SHORT":
case "INVALID_LENGTH": return false;
default: return true;
}
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js
/**
* Sometimes some people incorrectly input international phone numbers
* without the leading `+`. This function corrects such input.
* @param {string} number — Phone number digits (only digits, no `+`).
* @param {string} [country] — Exact country of the phone number.
* @param {string} [defaultCountry]
* @param {string} [defaultCallingCode]
* @param {object} metadataJson
* @return {object} `{ countryCallingCode: string?, number: string }`, where `countryCallingCode` is the calling code that was extracted from the input `number` string, and `number` is the originally passed `number` without the extracted calling code.
*/
function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, defaultCountry, defaultCallingCode, metadataJson) {
if (!(country || defaultCountry || defaultCallingCode)) return { number };
var countryCallingCode = country || defaultCountry ? getCountryCallingCode$1(country || defaultCountry, metadataJson) : defaultCallingCode;
if (number.indexOf(countryCallingCode) === 0) {
var metadata = new Metadata(metadataJson);
metadata.selectNumberingPlan(country || defaultCountry || defaultCallingCode);
var possibleShorterNumber = number.slice(countryCallingCode.length);
var possibleShorterNationalNumber = extractNationalNumber(possibleShorterNumber, void 0, metadata).nationalNumber;
var nationalNumber = extractNationalNumber(number, void 0, metadata).nationalNumber;
if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, void 0, metadata) === "TOO_LONG") return {
countryCallingCode,
number: possibleShorterNumber
};
}
return { number };
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js
/**
* Attempts to extract a calling code from a phone number.
* * If the phone number is found to be "international":
* * It will attempt to identify the calling code part of it and whether that part is complete and valid.
* * If the calling code part is complete and valid, it will return two properties:
* that calling code part (without `+`) and the rest of the digits.
* * Otherwise, i.e. if the calling code part is incomplete or invalid,
* it will return an empty object.
* * Otherwise, i.e. if the phone number is national, there's no callind code to extract
* so it will just return the originally-passed `number` string as the only property.
* @param {string} number — Phone number digits (possibly with a `+`).
* @param {string} [country] — Country.
* @param {string} [defaultCountry] — Default country.
* @param {string} [defaultCallingCode] — Default calling code (some phone numbering plans are non-geographic).
* @param {object} metadataJson
* @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`, where `countryCallingCodeSource` tells how the returned calling code was extracted (if it was extracted), `countryCallingCode` is the calling code that was extracted from the input `number` string, and `number` is the originally passed `number` without the extracted calling code (and without a `+`). If the calling code is present but incomplete or invalid, it will return an empty object.
* @example
* // Returns `{ countryCallingCode: "1", number: "2133734253" }`.
* extractCountryCallingCode('2133734253', 'US', null, null, metadata)
* extractCountryCallingCode('2133734253', null, 'US', null, metadata)
* extractCountryCallingCode('2133734253', null, null, '1', metadata)
* extractCountryCallingCode('+12133734253', null, null, null, metadata)
* extractCountryCallingCode('+12133734253', null, 'RU', null, metadata)
*/
function extractCountryCallingCode(number, country, defaultCountry, defaultCallingCode, metadataJson) {
if (!number) return {};
var isNumberWithIddPrefix;
if (number[0] !== "+") {
var numberWithoutIDD = stripIddPrefix(number, country || defaultCountry, defaultCallingCode, metadataJson);
if (numberWithoutIDD && numberWithoutIDD !== number) {
isNumberWithIddPrefix = true;
number = "+" + numberWithoutIDD;
} else {
if (country || defaultCountry || defaultCallingCode) {
var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, defaultCountry, defaultCallingCode, metadataJson), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;
if (countryCallingCode) return {
countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
countryCallingCode,
number: shorterNumber
};
}
return { number };
}
}
if (number[1] === "0") return {};
var metadata = new Metadata(metadataJson);
var i = 2;
while (i - 1 <= 3 && i <= number.length) {
var _countryCallingCode = number.slice(1, i);
if (metadata.hasCallingCode(_countryCallingCode)) {
metadata.selectNumberingPlan(_countryCallingCode);
return {
countryCallingCodeSource: isNumberWithIddPrefix ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
countryCallingCode: _countryCallingCode,
number: number.slice(i)
};
}
i++;
}
return {};
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js
function applyInternationalSeparatorStyle(formattedNumber) {
return formattedNumber.replace(new RegExp("[".concat(VALID_PUNCTUATION, "]+"), "g"), " ").trim();
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js
var FIRST_GROUP_PATTERN = /(\$\d)/;
function formatNationalNumberUsingFormat(number, format, _ref) {
var useInternationalFormat = _ref.useInternationalFormat, withNationalPrefix = _ref.withNationalPrefix;
_ref.carrierCode;
_ref.metadata;
var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());
if (useInternationalFormat) return applyInternationalSeparatorStyle(formattedNumber);
return formattedNumber;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js
/**
* Pattern that makes it easy to distinguish whether a region has a single
* international dialing prefix or not. If a region has a single international
* prefix (e.g. 011 in USA), it will be represented as a string that contains
* a sequence of ASCII digits, and possibly a tilde, which signals waiting for
* the tone. If there are multiple available international prefixes in a
* region, they will be represented as a regex string that always contains one
* or more characters that are not ASCII digits or a tilde.
*/
var SINGLE_IDD_PREFIX_REG_EXP = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
function getIddPrefix(country, callingCode, metadata) {
var countryMetadata = new Metadata(metadata);
countryMetadata.selectNumberingPlan(country || callingCode);
if (countryMetadata.defaultIDDPrefix()) return countryMetadata.defaultIDDPrefix();
if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) return countryMetadata.IDDPrefix();
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js
var RFC3966_EXTN_PREFIX = ";ext=";
/**
* Helper method for constructing regular expressions for parsing. Creates
* an expression that captures up to max_length digits.
* @return {string} RegEx pattern to capture extension digits.
*/
var getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {
return "([".concat(VALID_DIGITS, "]{1,").concat(maxLength, "})");
};
/**
* Helper initialiser method to create the regular-expression pattern to match
* extensions.
* Copy-pasted from Google's `libphonenumber`:
* https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766
* @return {string} RegEx pattern to capture extensions.
*/
function createExtensionPattern(purpose) {
/** @type {string} */
var extLimitAfterExplicitLabel = "20";
/** @type {string} */
var extLimitAfterLikelyLabel = "15";
/** @type {string} */
var extLimitAfterAmbiguousChar = "9";
/** @type {string} */
var extLimitWhenNotSure = "6";
/** @type {string} */
var possibleSeparatorsBetweenNumberAndExtLabel = "[ \xA0\\t,]*";
/** @type {string} */
var possibleCharsAfterExtLabel = "[:\\..]?[ \xA0\\t,-]*";
/** @type {string} */
var optionalExtnSuffix = "#?";
/** @type {string} */
var explicitExtLabels = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)";
/** @type {string} */
var ambiguousExtLabels = "(?:[xx##~~]|int|int)";
/** @type {string} */
var ambiguousSeparator = "[- ]+";
/** @type {string} */
var possibleSeparatorsNumberExtLabelNoComma = "[ \xA0\\t]*";
/** @type {string} */
var autoDiallingAndExtLabelsFound = "(?:,{2}|;)";
/** @type {string} */
var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);
/** @type {string} */
var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;
/** @type {string} */
var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;
/** @type {string} */
var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + "#";
/** @type {string} */
var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;
/** @type {string} */
var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + "(?:,)+" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;
return rfcExtn + "|" + explicitExtn + "|" + ambiguousExtn + "|" + americanStyleExtnWithSuffix + "|" + autoDiallingExtn + "|" + onlyCommasExtn;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js
var MIN_LENGTH_PHONE_NUMBER_PATTERN = "[" + VALID_DIGITS + "]{2}";
var VALID_PHONE_NUMBER = "[" + PLUS_CHARS + "]{0,1}(?:[" + VALID_PUNCTUATION + "]*[" + VALID_DIGITS + "]){3,}[" + VALID_PUNCTUATION + VALID_DIGITS + "]*";
var VALID_PHONE_NUMBER_START_REG_EXP = new RegExp("^[" + PLUS_CHARS + "]{0,1}(?:[" + VALID_PUNCTUATION + "]*[" + VALID_DIGITS + "]){1,2}$", "i");
var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + "(?:" + createExtensionPattern() + ")?";
var VALID_PHONE_NUMBER_PATTERN = new RegExp("^" + MIN_LENGTH_PHONE_NUMBER_PATTERN + "$|^" + VALID_PHONE_NUMBER_WITH_EXTENSION + "$", "i");
function isViablePhoneNumber(number) {
return number.length >= 2 && VALID_PHONE_NUMBER_PATTERN.test(number);
}
function isViablePhoneNumberStart(number) {
return VALID_PHONE_NUMBER_START_REG_EXP.test(number);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/RFC3966.js
/**
* @param {object} - `{ ?number, ?extension }`.
* @return {string} Phone URI (RFC 3966).
*/
function formatRFC3966(_ref) {
var number = _ref.number, ext = _ref.ext;
if (!number) return "";
if (number[0] !== "+") throw new Error("\"formatRFC3966()\" expects \"number\" to be in E.164 format.");
return "tel:".concat(number).concat(ext ? ";ext=" + ext : "");
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/format.js
var DEFAULT_OPTIONS = { formatExtension: function formatExtension(formattedNumber, extension, metadata) {
return "".concat(formattedNumber).concat(metadata.ext()).concat(extension);
} };
/**
* Formats a phone number.
*
* format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)
* format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)
*
* format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)
* format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)
*
* @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.
* @param {string} format
* @param {object} [options]
* @param {object} metadataJson
* @return {string}
*/
function formatNumber(input, format, options, metadataJson) {
if (options) options = merge({}, DEFAULT_OPTIONS, options);
else options = DEFAULT_OPTIONS;
var metadata = new Metadata(metadataJson);
if (input.country && input.country !== "001") {
if (!metadata.hasCountry(input.country)) throw new Error("Unknown country: ".concat(input.country));
metadata.selectNumberingPlan(input.country);
} else if (input.countryCallingCode) metadata.selectNumberingPlan(input.countryCallingCode);
else return input.phone || "";
var countryCallingCode = metadata.countryCallingCode();
var nationalNumber = options.v2 ? input.nationalNumber : input.phone;
var number;
switch (format) {
case "NATIONAL":
if (!nationalNumber) return "";
number = formatNationalNumber(nationalNumber, input.carrierCode, "NATIONAL", metadata, options);
return addExtension(number, input.ext, metadata, options.formatExtension);
case "INTERNATIONAL":
if (!nationalNumber) return "+".concat(countryCallingCode);
number = formatNationalNumber(nationalNumber, null, "INTERNATIONAL", metadata, options);
number = "+".concat(countryCallingCode, " ").concat(number);
return addExtension(number, input.ext, metadata, options.formatExtension);
case "E.164": return "+".concat(countryCallingCode).concat(nationalNumber);
case "RFC3966": return formatRFC3966({
number: "+".concat(countryCallingCode).concat(nationalNumber),
ext: input.ext
});
case "IDD":
if (!options.fromCountry) return;
var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);
if (!formattedNumber) return;
return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);
default: throw new Error("Unknown \"format\" argument passed to \"formatNumber()\": \"".concat(format, "\""));
}
}
function formatNationalNumber(number, carrierCode, formatAs, metadata, options) {
var format = chooseFormatForNumber(metadata.formats(), number);
if (!format) return number;
return formatNationalNumberUsingFormat(number, format, {
useInternationalFormat: formatAs === "INTERNATIONAL",
withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,
carrierCode,
metadata
});
}
function chooseFormatForNumber(availableFormats, nationalNumber) {
return pickFirstMatchingElement(availableFormats, function(format) {
if (format.leadingDigitsPatterns().length > 0) {
var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];
if (nationalNumber.search(lastLeadingDigitsPattern) !== 0) return false;
}
return matchesEntirely(nationalNumber, format.pattern());
});
}
function addExtension(formattedNumber, ext, metadata, formatExtension) {
return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;
}
function formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {
if (getCountryCallingCode$1(fromCountry, metadata.metadata) === countryCallingCode) {
var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, "NATIONAL", metadata);
if (countryCallingCode === "1") return countryCallingCode + " " + formattedNumber;
return formattedNumber;
}
var iddPrefix = getIddPrefix(fromCountry, void 0, metadata.metadata);
if (iddPrefix) return "".concat(iddPrefix, " ").concat(countryCallingCode, " ").concat(formatNationalNumber(nationalNumber, null, "INTERNATIONAL", metadata));
}
function merge() {
var i = 1;
for (var _len = arguments.length, objects = new Array(_len), _key = 0; _key < _len; _key++) objects[_key] = arguments[_key];
while (i < objects.length) {
if (objects[i]) for (var key in objects[i]) objects[0][key] = objects[i][key];
i++;
}
return objects[0];
}
function pickFirstMatchingElement(elements, testFunction) {
var i = 0;
while (i < elements.length) {
if (testFunction(elements[i])) return elements[i];
i++;
}
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/PhoneNumber.js
function _typeof$4(o) {
"@babel/helpers - typeof";
return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof$4(o);
}
function ownKeys$3(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$3(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$3(Object(t), !0).forEach(function(r) {
_defineProperty$3(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _defineProperty$3(e, r, t) {
return (r = _toPropertyKey$4(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _classCallCheck$1(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties$1(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$4(o.key), o);
}
}
function _createClass$1(e, r, t) {
return r && _defineProperties$1(e.prototype, r), t && _defineProperties$1(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
}
function _toPropertyKey$4(t) {
var i = _toPrimitive$4(t, "string");
return "symbol" == _typeof$4(i) ? i : i + "";
}
function _toPrimitive$4(t, r) {
if ("object" != _typeof$4(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof$4(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
var PhoneNumber = /*#__PURE__*/ function() {
/**
* @param {string} countryOrCountryCallingCode
* @param {string} nationalNumber
* @param {object} metadata — Metadata JSON
* @return {PhoneNumber}
*/
function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {
_classCallCheck$1(this, PhoneNumber);
if (!countryOrCountryCallingCode) throw new TypeError("First argument is required");
if (typeof countryOrCountryCallingCode !== "string") throw new TypeError("First argument must be a string");
if (countryOrCountryCallingCode[0] === "+" && !nationalNumber) throw new TypeError("`metadata` argument not passed");
if (isObject(nationalNumber) && isObject(nationalNumber.countries)) {
metadata = nationalNumber;
var e164Number = countryOrCountryCallingCode;
if (!E164_NUMBER_REGEXP.test(e164Number)) throw new Error("Invalid `number` argument passed: must consist of a \"+\" followed by digits");
var _extractCountryCallin = extractCountryCallingCode(e164Number, void 0, void 0, void 0, metadata), _countryCallingCode = _extractCountryCallin.countryCallingCode;
nationalNumber = _extractCountryCallin.number;
countryOrCountryCallingCode = _countryCallingCode;
if (!nationalNumber) throw new Error("Invalid `number` argument passed: too short");
}
if (!nationalNumber) throw new TypeError("`nationalNumber` argument is required");
if (typeof nationalNumber !== "string") throw new TypeError("`nationalNumber` argument must be a string");
validateMetadata(metadata);
var _getCountryAndCalling = getCountryAndCallingCodeFromOneOfThem(countryOrCountryCallingCode, metadata), country = _getCountryAndCalling.country, countryCallingCode = _getCountryAndCalling.callingCode;
this.country = country;
this.countryCallingCode = countryCallingCode;
this.nationalNumber = nationalNumber;
this.number = "+" + this.countryCallingCode + this.nationalNumber;
this.getMetadata = function() {
return metadata;
};
}
return _createClass$1(PhoneNumber, [
{
key: "setExt",
value: function setExt(ext) {
this.ext = ext;
}
},
{
key: "getPossibleCountries",
value: function getPossibleCountries() {
if (this.country) return [this.country];
return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());
}
},
{
key: "isPossible",
value: function isPossible() {
return isPossiblePhoneNumber(this, { v2: true }, this.getMetadata());
}
},
{
key: "isValid",
value: function isValid() {
return isValidNumber(this, { v2: true }, this.getMetadata());
}
},
{
key: "isNonGeographic",
value: function isNonGeographic() {
return new Metadata(this.getMetadata()).isNonGeographicCallingCode(this.countryCallingCode);
}
},
{
key: "isEqual",
value: function isEqual(phoneNumber) {
return this.number === phoneNumber.number && this.ext === phoneNumber.ext;
}
},
{
key: "getType",
value: function getType() {
return getNumberType(this, { v2: true }, this.getMetadata());
}
},
{
key: "format",
value: function format(_format, options) {
return formatNumber(this, _format, options ? _objectSpread$3(_objectSpread$3({}, options), {}, { v2: true }) : { v2: true }, this.getMetadata());
}
},
{
key: "formatNational",
value: function formatNational(options) {
return this.format("NATIONAL", options);
}
},
{
key: "formatInternational",
value: function formatInternational(options) {
return this.format("INTERNATIONAL", options);
}
},
{
key: "getURI",
value: function getURI(options) {
return this.format("RFC3966", options);
}
}
]);
}();
var E164_NUMBER_REGEXP = /^\+\d+$/;
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/ParseError.js
function _typeof$3(o) {
"@babel/helpers - typeof";
return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof$3(o);
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey$3(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
}
function _toPropertyKey$3(t) {
var i = _toPrimitive$3(t, "string");
return "symbol" == _typeof$3(i) ? i : i + "";
}
function _toPrimitive$3(t, r) {
if ("object" != _typeof$3(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof$3(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _callSuper(t, o, e) {
return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
}
function _possibleConstructorReturn(t, e) {
if (e && ("object" == _typeof$3(e) || "function" == typeof e)) return e;
if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
return _assertThisInitialized(t);
}
function _assertThisInitialized(e) {
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return e;
}
function _inherits(t, e) {
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
t.prototype = Object.create(e && e.prototype, { constructor: {
value: t,
writable: !0,
configurable: !0
} }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e);
}
function _wrapNativeSuper(t) {
var r = "function" == typeof Map ? /* @__PURE__ */ new Map() : void 0;
return _wrapNativeSuper = function _wrapNativeSuper(t) {
if (null === t || !_isNativeFunction(t)) return t;
if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
if (void 0 !== r) {
if (r.has(t)) return r.get(t);
r.set(t, Wrapper);
}
function Wrapper() {
return _construct(t, arguments, _getPrototypeOf(this).constructor);
}
return Wrapper.prototype = Object.create(t.prototype, { constructor: {
value: Wrapper,
enumerable: !1,
writable: !0,
configurable: !0
} }), _setPrototypeOf(Wrapper, t);
}, _wrapNativeSuper(t);
}
function _construct(t, e, r) {
if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
var o = [null];
o.push.apply(o, e);
var p = new (t.bind.apply(t, o))();
return r && _setPrototypeOf(p, r.prototype), p;
}
function _isNativeReflectConstruct() {
try {
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
} catch (t) {}
return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
return !!t;
})();
}
function _isNativeFunction(t) {
try {
return -1 !== Function.toString.call(t).indexOf("[native code]");
} catch (n) {
return "function" == typeof t;
}
}
function _setPrototypeOf(t, e) {
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
return t.__proto__ = e, t;
}, _setPrototypeOf(t, e);
}
function _getPrototypeOf(t) {
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
return t.__proto__ || Object.getPrototypeOf(t);
}, _getPrototypeOf(t);
}
var ParseError = /*#__PURE__*/ function(_Error) {
function ParseError(code) {
var _this;
_classCallCheck(this, ParseError);
_this = _callSuper(this, ParseError, [code]);
Object.setPrototypeOf(_this, ParseError.prototype);
_this.name = _this.constructor.name;
return _this;
}
_inherits(ParseError, _Error);
return _createClass(ParseError);
}(/*#__PURE__*/ _wrapNativeSuper(Error));
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js
var EXTN_PATTERN = new RegExp("(?:" + createExtensionPattern() + ")$", "i");
function extractExtension(number) {
var start = number.search(EXTN_PATTERN);
if (start < 0) return {};
var numberWithoutExtension = number.slice(0, start);
var matches = number.match(EXTN_PATTERN);
var i = 1;
while (i < matches.length) {
if (matches[i]) return {
number: numberWithoutExtension,
ext: matches[i]
};
i++;
}
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/parseDigits.js
var DIGITS = {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"٠": "0",
"١": "1",
"٢": "2",
"٣": "3",
"٤": "4",
"٥": "5",
"٦": "6",
"٧": "7",
"٨": "8",
"٩": "9",
"۰": "0",
"۱": "1",
"۲": "2",
"۳": "3",
"۴": "4",
"۵": "5",
"۶": "6",
"۷": "7",
"۸": "8",
"۹": "9"
};
function parseDigit(character) {
return DIGITS[character];
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js
function _createForOfIteratorHelperLoose(r, e) {
var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (t) return (t = t.call(r)).next.bind(t);
if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e && r && "number" == typeof r.length) {
t && (r = t);
var o = 0;
return function() {
return o >= r.length ? { done: !0 } : {
done: !1,
value: r[o++]
};
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray$1(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray$1(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0;
}
}
function _arrayLikeToArray$1(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
/**
* Parses phone number characters from a string.
* Drops all punctuation leaving only digits and the leading `+` sign (if any).
* Also converts wide-ascii and arabic-indic numerals to conventional numerals.
* E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.
* @param {string} string
* @return {string}
* @example
* ```js
* // Outputs '8800555'.
* parseIncompletePhoneNumber('8 (800) 555')
* // Outputs '+7800555'.
* parseIncompletePhoneNumber('+7 800 555')
* ```
*/
function parseIncompletePhoneNumber(string) {
var result = "";
for (var _iterator = _createForOfIteratorHelperLoose(string.split("")), _step; !(_step = _iterator()).done;) {
var character = _step.value;
result += parsePhoneNumberCharacter(character, result) || "";
}
return result;
}
/**
* Parses next character while parsing phone number digits (including a `+`)
* from text: discards everything except `+` and digits, and `+` is only allowed
* at the start of a phone number.
* For example, is used in `react-phone-number-input` where it uses
* [`input-format`](https://gitlab.com/catamphetamine/input-format).
* @param {string} character - Yet another character from raw input string.
* @param {string?} prevParsedCharacters - Previous parsed characters.
* @param {function?} eventListener - An optional "on event" function.
* @return {string?} The parsed character.
*/
function parsePhoneNumberCharacter(character, prevParsedCharacters, eventListener) {
if (character === "+") {
if (prevParsedCharacters) {
if (typeof eventListener === "function") eventListener("end");
return;
}
return "+";
}
return parseDigit(character);
}
var RFC3966_PHONE_DIGIT_ = "([" + VALID_DIGITS + "]|[\\-\\.\\(\\)]?)";
var RFC3966_GLOBAL_NUMBER_DIGITS_ = "^\\+" + RFC3966_PHONE_DIGIT_ + "*[" + VALID_DIGITS + "]" + RFC3966_PHONE_DIGIT_ + "*$";
/**
* Regular expression of valid global-number-digits for the phone-context
* parameter, following the syntax defined in RFC3966.
*/
var RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, "g");
var ALPHANUM_ = VALID_DIGITS;
var RFC3966_DOMAINLABEL_ = "[" + ALPHANUM_ + "]+((\\-)*[" + ALPHANUM_ + "])*";
var RFC3966_TOPLABEL_ = "[a-zA-Z]+((\\-)*[" + ALPHANUM_ + "])*";
var RFC3966_DOMAINNAME_ = "^(" + RFC3966_DOMAINLABEL_ + "\\.)*" + RFC3966_TOPLABEL_ + "\\.?$";
/**
* Regular expression of valid domainname for the phone-context parameter,
* following the syntax defined in RFC3966.
*/
var RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, "g");
var RFC3966_PREFIX_ = "tel:";
var RFC3966_PHONE_CONTEXT_ = ";phone-context=";
var RFC3966_ISDN_SUBADDRESS_ = ";isub=";
/**
* Extracts the value of the phone-context parameter of `numberToExtractFrom`,
* following the syntax defined in RFC3966.
*
* @param {string} numberToExtractFrom
* @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.
*/
function extractPhoneContext(numberToExtractFrom) {
var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_);
if (indexOfPhoneContext < 0) return null;
var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length;
if (phoneContextStart >= numberToExtractFrom.length) return "";
var phoneContextEnd = numberToExtractFrom.indexOf(";", phoneContextStart);
if (phoneContextEnd >= 0) return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);
else return numberToExtractFrom.substring(phoneContextStart);
}
/**
* Returns whether the value of phoneContext follows the syntax defined in RFC3966.
*
* @param {string|null} phoneContext
* @return {boolean}
*/
function isPhoneContextValid(phoneContext) {
if (phoneContext === null) return true;
if (phoneContext.length === 0) return false;
return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js
/**
* @param {string} numberToParse
* @param {string} nationalNumber
* @return {}
*/
function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {
var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;
var phoneContext = extractPhoneContext(numberToParse);
if (!isPhoneContextValid(phoneContext)) throw new ParseError("NOT_A_NUMBER");
var phoneNumberString;
if (phoneContext === null) phoneNumberString = extractFormattedPhoneNumber(numberToParse) || "";
else {
phoneNumberString = "";
if (phoneContext.charAt(0) === "+") phoneNumberString += phoneContext;
var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);
var indexOfNationalNumber;
/* istanbul ignore else */
if (indexOfRfc3966Prefix >= 0) indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;
else indexOfNationalNumber = 0;
var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);
phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);
}
var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);
if (indexOfIsdn > 0) phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);
if (phoneNumberString !== "") return phoneNumberString;
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/parse.js
var MAX_INPUT_STRING_LENGTH = 250;
var PHONE_NUMBER_START_PATTERN = new RegExp("[" + PLUS_CHARS + VALID_DIGITS + "]");
var AFTER_PHONE_NUMBER_END_PATTERN = new RegExp("[^" + VALID_DIGITS + "#]+$");
var USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;
/**
* Parses a phone number.
*
* parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)
* parse('123456789', { defaultCountry: 'RU' }, metadata)
* parse('123456789', undefined, metadata)
*
* @param {string} input
* @param {object} [options]
* @param {object} metadataJson
* @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).
*/
function parse(text, options, metadataJson) {
options = options || {};
var metadata = new Metadata(metadataJson);
if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {
if (options.v2) throw new ParseError("INVALID_COUNTRY");
throw new Error("Unknown country: ".concat(options.defaultCountry));
}
var _parseInput = parseInput(text, options.v2, options.extract), formattedPhoneNumber = _parseInput.number, ext = _parseInput.ext, error = _parseInput.error;
if (!formattedPhoneNumber) {
if (options.v2) {
if (error === "TOO_SHORT") throw new ParseError("TOO_SHORT");
throw new ParseError("NOT_A_NUMBER");
}
return {};
}
var _parsePhoneNumber = parsePhoneNumber$3(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource, carrierCode = _parsePhoneNumber.carrierCode;
if (!metadata.hasSelectedNumberingPlan()) {
if (options.v2) throw new ParseError("INVALID_COUNTRY");
return {};
}
if (!nationalNumber || nationalNumber.length < 2) {
/* istanbul ignore if */
if (options.v2) throw new ParseError("TOO_SHORT");
return {};
}
if (nationalNumber.length > 17) {
if (options.v2) throw new ParseError("TOO_LONG");
return {};
}
if (options.v2) {
var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);
if (country) phoneNumber.country = country;
if (carrierCode) phoneNumber.carrierCode = carrierCode;
if (ext) phoneNumber.ext = ext;
phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;
return phoneNumber;
}
var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;
if (!options.extended) return valid ? result(country, nationalNumber, ext) : {};
return {
country,
countryCallingCode,
carrierCode,
valid,
possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,
phone: nationalNumber,
ext
};
}
/**
* Extracts a formatted phone number from text.
* Doesn't guarantee that the extracted phone number
* is a valid phone number (for example, doesn't validate its length).
* @param {string} text
* @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.
* @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.
* @return {string}
* @example
* // Returns "(213) 373-4253".
* extractFormattedPhoneNumber("Call (213) 373-4253 for assistance.")
*/
function _extractFormattedPhoneNumber(text, extract, throwOnError) {
if (!text) return;
if (text.length > MAX_INPUT_STRING_LENGTH) {
if (throwOnError) throw new ParseError("TOO_LONG");
return;
}
if (extract === false) return text;
var startsAt = text.search(PHONE_NUMBER_START_PATTERN);
if (startsAt < 0) return;
return text.slice(startsAt).replace(AFTER_PHONE_NUMBER_END_PATTERN, "");
}
/**
* @param {string} text - Input.
* @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.
* @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.
* @return {object} `{ ?number, ?ext }`.
*/
function parseInput(text, v2, extract) {
var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, { extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {
return _extractFormattedPhoneNumber(text, extract, v2);
} });
if (!number) return {};
if (!isViablePhoneNumber(number)) {
if (isViablePhoneNumberStart(number)) return { error: "TOO_SHORT" };
return {};
}
var withExtensionStripped = extractExtension(number);
if (withExtensionStripped.ext) return withExtensionStripped;
return { number };
}
/**
* Creates `parse()` result object.
*/
function result(country, nationalNumber, ext) {
var result = {
country,
phone: nationalNumber
};
if (ext) result.ext = ext;
return result;
}
/**
* Parses a viable phone number.
* @param {string} formattedPhoneNumber — Example: "(213) 373-4253".
* @param {string} [defaultCountry]
* @param {string} [defaultCallingCode]
* @param {Metadata} metadata — Metadata instance with no pre-selected numbering plan. If `country` is returned, its numbering plan will also be selected in `metadata`. Otherwise, if `countryCallingCode` is returned, its numbering plan will also be selected in `metadata`. Otherwise, if neither `country` nor `countryCallingCode` are returned, no numbering plan will be selected in `metadata`.
* @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.
*/
function parsePhoneNumber$3(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {
var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), void 0, defaultCountry, defaultCallingCode, metadata.metadata), countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource, countryCallingCode = _extractCountryCallin.countryCallingCode, number = _extractCountryCallin.number;
var country;
if (countryCallingCode) metadata.selectNumberingPlan(countryCallingCode);
else if (number && (defaultCountry || defaultCallingCode)) {
if (defaultCountry) {
country = defaultCountry;
metadata.selectNumberingPlan(defaultCountry);
countryCallingCode = metadata.numberingPlan.callingCode();
} else {
metadata.selectNumberingPlan(defaultCallingCode);
countryCallingCode = defaultCallingCode;
/* istanbul ignore if */
if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {
if (metadata.isNonGeographicCallingCode(countryCallingCode)) country = "001";
}
}
} else return {};
if (!number) return {
countryCallingCodeSource,
countryCallingCode
};
var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), void 0, metadata), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;
var exactCountry = getCountryByCallingCode(countryCallingCode, {
nationalNumber,
metadata
});
if (exactCountry) {
country = exactCountry;
/* istanbul ignore if */
if (exactCountry === "001") {} else metadata.selectNumberingPlan(country);
}
return {
country,
countryCallingCode,
countryCallingCodeSource,
nationalNumber,
carrierCode
};
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js
function _typeof$2(o) {
"@babel/helpers - typeof";
return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof$2(o);
}
function ownKeys$2(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$2(Object(t), !0).forEach(function(r) {
_defineProperty$2(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _defineProperty$2(e, r, t) {
return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _toPropertyKey$2(t) {
var i = _toPrimitive$2(t, "string");
return "symbol" == _typeof$2(i) ? i : i + "";
}
function _toPrimitive$2(t, r) {
if ("object" != _typeof$2(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof$2(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function parsePhoneNumberWithError(text, options, metadata) {
return parse(text, _objectSpread$2(_objectSpread$2({}, options), {}, { v2: true }), metadata);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/normalizeArguments.js
function _typeof$1(o) {
"@babel/helpers - typeof";
return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof$1(o);
}
function ownKeys$1(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$1(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$1(Object(t), !0).forEach(function(r) {
_defineProperty$1(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _defineProperty$1(e, r, t) {
return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _toPropertyKey$1(t) {
var i = _toPrimitive$1(t, "string");
return "symbol" == _typeof$1(i) ? i : i + "";
}
function _toPrimitive$1(t, r) {
if ("object" != _typeof$1(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof$1(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function _slicedToArray(r, e) {
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
}
}
function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e, n, i, u, a = [], f = !0, o = !1;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = !1;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) {
o = !0, n = r;
} finally {
try {
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
function _arrayWithHoles(r) {
if (Array.isArray(r)) return r;
}
function normalizeArguments(args) {
var _Array$prototype$slic2 = _slicedToArray(Array.prototype.slice.call(args), 4), arg_1 = _Array$prototype$slic2[0], arg_2 = _Array$prototype$slic2[1], arg_3 = _Array$prototype$slic2[2], arg_4 = _Array$prototype$slic2[3];
var text;
var options;
var metadata;
if (typeof arg_1 === "string") text = arg_1;
else throw new TypeError("A text for parsing must be a string.");
if (!arg_2 || typeof arg_2 === "string") {
if (arg_4) {
options = arg_3;
metadata = arg_4;
} else {
options = void 0;
metadata = arg_3;
}
if (arg_2) options = _objectSpread$1({ defaultCountry: arg_2 }, options);
} else if (isObject(arg_2)) {
if (arg_3) {
options = arg_2;
metadata = arg_3;
} else metadata = arg_2;
} else throw new Error("Invalid second argument: ".concat(arg_2));
return {
text,
options,
metadata
};
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/parsePhoneNumber_.js
function _typeof(o) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
return typeof o;
} : function(o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
}, _typeof(o);
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
_defineProperty(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == _typeof(i) ? i : i + "";
}
function _toPrimitive(t, r) {
if ("object" != _typeof(t) || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != _typeof(i)) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function parsePhoneNumber$2(text, options, metadata) {
if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) options = _objectSpread(_objectSpread({}, options), {}, { defaultCountry: void 0 });
try {
return parsePhoneNumberWithError(text, options, metadata);
} catch (error) {
/* istanbul ignore else */
if (error instanceof ParseError) {} else throw error;
}
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/parsePhoneNumber.js
function parsePhoneNumber$1() {
var _normalizeArguments = normalizeArguments(arguments), text = _normalizeArguments.text, options = _normalizeArguments.options, metadata = _normalizeArguments.metadata;
return parsePhoneNumber$2(text, options, metadata);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/es6/getCountries.js
function getCountries$1(metadata) {
return new Metadata(metadata).getCountries();
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js
function parsePhoneNumber() {
return withMetadataArgument(parsePhoneNumber$1, arguments);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/min/exports/getCountries.js
function getCountries() {
return withMetadataArgument(getCountries$1, arguments);
}
//#endregion
//#region node_modules/.pnpm/libphonenumber-js@1.13.11/node_modules/libphonenumber-js/min/exports/getCountryCallingCode.js
function getCountryCallingCode() {
return withMetadataArgument(getCountryCallingCode$1, arguments);
}
//#endregion
//#region packages/normalization-core/src/phone-presentation.ts
const sharedCountryCallingCodes = (() => {
const counts = /* @__PURE__ */ new Map();
for (const country of getCountries()) {
const callingCode = getCountryCallingCode(country);
counts.set(callingCode, (counts.get(callingCode) ?? 0) + 1);
}
return new Set([...counts.entries()].filter(([, count]) => count > 1).map(([callingCode]) => callingCode));
})();
function formatInternationalPhoneNumberForDisplay(raw, locale) {
const candidate = raw.trim();
if (!candidate.startsWith("+")) return;
try {
const phoneNumber = parsePhoneNumber(candidate, { extract: false });
if (!phoneNumber?.isPossible()) return;
const international = phoneNumber.formatInternational();
if (!phoneNumber.country || sharedCountryCallingCodes.has(phoneNumber.countryCallingCode)) return international;
return `${new Intl.DisplayNames(locale ? [locale] : void 0, { type: "region" }).of(phoneNumber.country) || phoneNumber.country} · ${international}`;
} catch {
return;
}
}
//#endregion
export { formatInternationalPhoneNumberForDisplay as t };