@coinbase/cdp-react 0.0.18 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/assets/Button.css +1 -1
  2. package/dist/assets/EmailForm.css +1 -0
  3. package/dist/assets/Error.css +1 -1
  4. package/dist/assets/Field.css +1 -1
  5. package/dist/assets/Input.css +1 -1
  6. package/dist/assets/Label.css +1 -0
  7. package/dist/assets/LoadingSkeleton.css +1 -1
  8. package/dist/assets/LoadingSpinner.css +1 -1
  9. package/dist/assets/Modal.css +1 -0
  10. package/dist/assets/OTP.css +1 -1
  11. package/dist/assets/OTPForm.css +1 -0
  12. package/dist/assets/PhoneNumberForm.css +1 -0
  13. package/dist/assets/PhoneNumberInput.css +1 -0
  14. package/dist/assets/SignIn.css +1 -1
  15. package/dist/assets/SignInAuthMethodButtons.css +1 -0
  16. package/dist/assets/SignInBackButton.css +1 -0
  17. package/dist/assets/SignInCredentials.css +1 -0
  18. package/dist/assets/SignInDescription.css +1 -1
  19. package/dist/assets/SignInFooter.css +1 -0
  20. package/dist/assets/SignInForm.css +1 -1
  21. package/dist/assets/SignInImage.css +1 -1
  22. package/dist/assets/SignInModal.css +1 -1
  23. package/dist/assets/SignInTitle.css +1 -1
  24. package/dist/assets/SuccessMessage.css +1 -0
  25. package/dist/assets/SwitchFadeTransition.css +1 -0
  26. package/dist/assets/SwitchSlideTransition.css +1 -0
  27. package/dist/assets/SwitchTransition.css +1 -0
  28. package/dist/assets/ThemeProvider.css +1 -1
  29. package/dist/assets/VisuallyHidden.css +1 -1
  30. package/dist/chunks/index.BzllgVaP.js +12 -0
  31. package/dist/components/AuthButton/index.js +7 -7
  32. package/dist/components/CDPReactProvider/index.d.ts +3 -0
  33. package/dist/components/CDPReactProvider/index.js +20 -13
  34. package/dist/components/SendTransactionButton/index.js +1 -1
  35. package/dist/components/SignIn/SignInAuthMethodButtons.d.ts +13 -0
  36. package/dist/components/SignIn/SignInAuthMethodButtons.js +59 -0
  37. package/dist/components/SignIn/SignInBackButton.d.ts +9 -0
  38. package/dist/components/SignIn/SignInBackButton.js +38 -0
  39. package/dist/components/SignIn/SignInCredentials.d.ts +2 -0
  40. package/dist/components/SignIn/SignInCredentials.js +8 -0
  41. package/dist/components/SignIn/SignInDescription.d.ts +4 -3
  42. package/dist/components/SignIn/SignInDescription.js +16 -23
  43. package/dist/components/SignIn/SignInFooter.d.ts +2 -0
  44. package/dist/components/SignIn/SignInFooter.js +18 -0
  45. package/dist/components/SignIn/SignInForm.d.ts +12 -4
  46. package/dist/components/SignIn/SignInForm.js +30 -195
  47. package/dist/components/SignIn/SignInImage.d.ts +2 -2
  48. package/dist/components/SignIn/SignInImage.js +11 -14
  49. package/dist/components/SignIn/SignInProvider.d.ts +1 -1
  50. package/dist/components/SignIn/SignInProvider.js +24 -16
  51. package/dist/components/SignIn/SignInTitle.d.ts +4 -3
  52. package/dist/components/SignIn/SignInTitle.js +18 -13
  53. package/dist/components/SignIn/flows/SignInWithEmail.d.ts +6 -0
  54. package/dist/components/SignIn/flows/SignInWithEmail.js +88 -0
  55. package/dist/components/SignIn/flows/SignInWithSms.d.ts +8 -0
  56. package/dist/components/SignIn/flows/SignInWithSms.js +3011 -0
  57. package/dist/components/SignIn/hooks/useEmailForm.d.ts +13 -0
  58. package/dist/components/SignIn/hooks/useEmailForm.js +42 -0
  59. package/dist/components/SignIn/hooks/useOTPForm.d.ts +16 -0
  60. package/dist/components/SignIn/hooks/useOTPForm.js +59 -0
  61. package/dist/components/SignIn/hooks/usePhoneNumberForm.d.ts +13 -0
  62. package/dist/components/SignIn/hooks/usePhoneNumberForm.js +42 -0
  63. package/dist/components/SignIn/index.d.ts +5 -2
  64. package/dist/components/SignIn/index.js +42 -24
  65. package/dist/components/SignIn/types.d.ts +106 -0
  66. package/dist/components/SignIn/types.js +3 -0
  67. package/dist/components/SignIn/useSignInReducer.d.ts +1 -57
  68. package/dist/components/SignIn/useSignInReducer.js +62 -20
  69. package/dist/components/SignInModal/index.d.ts +2 -2
  70. package/dist/components/SignInModal/index.js +56 -44
  71. package/dist/components/SignOutButton/index.js +1 -1
  72. package/dist/components/ThemeProvider/index.js +1 -1
  73. package/dist/components/forms/EmailForm/index.d.ts +11 -0
  74. package/dist/components/forms/EmailForm/index.js +56 -0
  75. package/dist/components/{Field → forms/Field}/index.d.ts +2 -1
  76. package/dist/components/forms/Field/index.js +24 -0
  77. package/dist/components/{Input → forms/Input}/index.js +1 -1
  78. package/dist/components/forms/Label/index.d.ts +7 -0
  79. package/dist/components/forms/Label/index.js +13 -0
  80. package/dist/components/{OTP → forms/OTP}/index.d.ts +3 -0
  81. package/dist/components/forms/OTP/index.js +65 -0
  82. package/dist/components/forms/OTPForm/index.d.ts +16 -0
  83. package/dist/components/forms/OTPForm/index.js +76 -0
  84. package/dist/components/forms/PhoneNumberForm/index.d.ts +14 -0
  85. package/dist/components/forms/PhoneNumberForm/index.js +68 -0
  86. package/dist/components/forms/PhoneNumberInput/PhoneNumberMetadata.d.ts +2 -0
  87. package/dist/components/forms/PhoneNumberInput/PhoneNumberMetadata.js +5 -0
  88. package/dist/components/forms/PhoneNumberInput/index.d.ts +10 -0
  89. package/dist/components/forms/PhoneNumberInput/index.js +76 -0
  90. package/dist/components/forms/PhoneNumberInput/maskOverride.d.ts +8 -0
  91. package/dist/components/forms/PhoneNumberInput/maskOverride.js +61 -0
  92. package/dist/components/forms/PhoneNumberInput/usePhoneNumberFormatter.d.ts +7 -0
  93. package/dist/components/forms/PhoneNumberInput/usePhoneNumberFormatter.js +52 -0
  94. package/dist/components/{Button → ui/Button}/index.d.ts +2 -1
  95. package/dist/components/ui/Button/index.js +75 -0
  96. package/dist/components/{Error → ui/Error}/index.d.ts +2 -2
  97. package/dist/components/ui/Error/index.js +16 -0
  98. package/dist/components/ui/LoadingSkeleton/index.js +19 -0
  99. package/dist/components/{LoadingSpinner → ui/LoadingSpinner}/index.js +6 -6
  100. package/dist/components/ui/Modal/index.d.ts +11 -0
  101. package/dist/components/ui/Modal/index.js +27 -0
  102. package/dist/components/{ServerError → ui/ServerError}/index.js +4 -4
  103. package/dist/components/ui/SuccessMessage/index.d.ts +7 -0
  104. package/dist/components/ui/SuccessMessage/index.js +16 -0
  105. package/dist/components/ui/SwitchFadeTransition/index.d.ts +5 -0
  106. package/dist/components/ui/SwitchFadeTransition/index.js +24 -0
  107. package/dist/components/ui/SwitchSlideTransition/index.d.ts +7 -0
  108. package/dist/components/ui/SwitchSlideTransition/index.js +27 -0
  109. package/dist/components/ui/SwitchTransition/index.d.ts +25 -0
  110. package/dist/components/ui/SwitchTransition/index.js +155 -0
  111. package/dist/components/{VisuallyHidden → ui/VisuallyHidden}/index.js +2 -2
  112. package/dist/data/countries.d.ts +12 -0
  113. package/dist/data/countries.js +25 -0
  114. package/dist/data/countryNames.d.ts +1 -0
  115. package/dist/data/countryNames.js +6 -0
  116. package/dist/hooks/usePhoneNumberValidators.d.ts +14 -0
  117. package/dist/hooks/usePhoneNumberValidators.js +36 -0
  118. package/dist/hooks/useTimer.d.ts +5 -0
  119. package/dist/hooks/useTimer.js +24 -0
  120. package/dist/icons/IconArrowLeft.d.ts +2 -0
  121. package/dist/icons/IconArrowLeft.js +14 -0
  122. package/dist/icons/IconCheckCircle.js +2 -3
  123. package/dist/icons/IconCoinbaseWordmark.js +5 -5
  124. package/dist/icons/IconEnvelope.d.ts +2 -0
  125. package/dist/icons/IconEnvelope.js +7 -0
  126. package/dist/icons/IconExclamationCircle.js +3 -4
  127. package/dist/icons/IconPhone.d.ts +2 -0
  128. package/dist/icons/IconPhone.js +7 -0
  129. package/dist/icons/IconXMark.js +6 -5
  130. package/dist/icons/index.d.ts +3 -0
  131. package/dist/icons/index.js +14 -8
  132. package/dist/index.js +66 -53
  133. package/dist/theme/theme.d.ts +11 -2
  134. package/dist/theme/tokens.d.ts +30 -6
  135. package/dist/theme/tokens.js +7 -3
  136. package/dist/utils/parseValuesFromPhoneNumber.d.ts +6 -0
  137. package/dist/utils/parseValuesFromPhoneNumber.js +16 -0
  138. package/package.json +23 -7
  139. package/dist/components/Button/index.js +0 -50
  140. package/dist/components/Error/index.js +0 -16
  141. package/dist/components/Field/index.js +0 -22
  142. package/dist/components/LoadingSkeleton/index.js +0 -19
  143. package/dist/components/OTP/index.js +0 -50
  144. /package/dist/components/{Input → forms/Input}/index.d.ts +0 -0
  145. /package/dist/components/{LoadingSkeleton → ui/LoadingSkeleton}/index.d.ts +0 -0
  146. /package/dist/components/{LoadingSpinner → ui/LoadingSpinner}/index.d.ts +0 -0
  147. /package/dist/components/{ServerError → ui/ServerError}/index.d.ts +0 -0
  148. /package/dist/components/{VisuallyHidden → ui/VisuallyHidden}/index.d.ts +0 -0
@@ -0,0 +1,3011 @@
1
+ import { jsx as S, jsxs as W, Fragment as V } from "react/jsx-runtime";
2
+ import { useSignInWithSms as ce, useVerifySmsOTP as he } from "@coinbase/cdp-hooks";
3
+ import "libphonenumber-js";
4
+ import { useRef as at, useState as $t, useEffect as ge, useLayoutEffect as me, useMemo as ye } from "react";
5
+ import { OTPForm as ve } from "../../forms/OTPForm/index.js";
6
+ import { PhoneNumberForm as Ne } from "../../forms/PhoneNumberForm/index.js";
7
+ import { SwitchSlideTransition as be } from "../../ui/SwitchSlideTransition/index.js";
8
+ import { parseValuesFromPhoneNumber as pe } from "../../../utils/parseValuesFromPhoneNumber.js";
9
+ import { useOTPForm as Ce } from "../hooks/useOTPForm.js";
10
+ import { usePhoneNumberForm as Pe } from "../hooks/usePhoneNumberForm.js";
11
+ import { SignInCredentials as xe } from "../SignInCredentials.js";
12
+ import { useSignInContext as Bt } from "../SignInProvider.js";
13
+ import "../../CDPReactProvider/index.js";
14
+ const Ee = { 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|[46])\\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, [["(?:(?:2(?:(?:[0-26-9]\\d|3[0-8]|5[0135-9])\\d|4(?:[02-9]\\d|10))|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90))|7(?:[013-57-9]\\d|2[0-8])\\d)\\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)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[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}", [9]], ["4(?:79[01]|83[0-389]|94[0-478])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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", "(?:[025-7]\\d|44)\\d{6}", [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|[24-689])\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], BL: ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 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)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]], ["(\\d{8})", "$1", ["[67]"]], ["(\\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", "[17]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]]]], 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]|33|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-389]|94[0-478])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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", "(?:[27]\\d{3}|8776)\\d{4}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[278]"]]]], 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{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[2-9]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[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-389]|94[0-478])\\d{5}|4(?:[0-36]\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-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]|31)"], "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, "528[89]"], ER: ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], ES: ["34", "00", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], ET: ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "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{6})", "$1", ["[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, 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-35])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\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", "(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|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", "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{3}|800)\\d{5}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "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", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], 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", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 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[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", "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]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[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(?:(?:2[14]|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|4[47])|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(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|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]|28|3[129]|4[1-35689]|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[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|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|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|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", ["[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["1(?:6|8[06])", "1(?:6|8[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,10}|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", ["3"]]], 0, 0, 0, 0, 0, 0, [["0669[0-79]\\d{1,6}|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[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}", [6, 7, 8, 9, 10, 11]], ["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", "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|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", ["7"], "0$1"]], "0"], JP: ["81", "010", "00[1-9]\\d{6,14}|[257-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", ["[36]|4(?:2[09]|7[01])", "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"], "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", ["[257-9]"], "0$1"]], "0", 0, "(000[259]\\d{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", "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "33622|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", ["2(?:[0367]|4[3-8])"]], ["(\\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", ["2(?:[0367]|4[3-8])"]], ["(\\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]"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], LV: ["371", "00", "(?:[268]\\d|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[269]|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{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"], ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"], ["(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-8]|5[0-3]|8[0-7]))\\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}"]]], MC: ["377", "00", "(?:[3489]|6\\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", ["6"], "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", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], 0, 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", ["[12]1"], "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", "(?:596\\d|7091)\\d{5}|(?:69|[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{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-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-79]"]], ["(\\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", ["(?: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", "(?: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", "[45]\\d{5}|(?:708|8\\d\\d)\\d{6}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "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", "59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,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", ["[26]1|3[289]|4[1246-8]|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, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["(?: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, 0, [["336(?:[013-9]\\d|2[013-9])\\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\d{7}", [10]], ["9\\d{9}", [10]], ["8(?:0[04]|108\\d{3})\\d{7}"], ["80[39]\\d{7}", [10]], ["808\\d{7}", [10]]], "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[0139]|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)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|7[67]|9[2-9]"]]], "0"], SR: ["597", "00", "(?:[2-5]|68|[78]\\d|90)\\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", "[267]\\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", ["[267]"]], ["(\\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-39]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-5]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "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|30|[689]\\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{8}", [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", ["[0-57-9]"]]], 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-6]\\d|71)\\d{6}", [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-59]|61)", "5(?:[0-59]|61[06])", "5(?:[0-59]|61[06]1)"], "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{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?: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"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "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, [["(?:3052(?:0[0-8]|[1-9]\\d)|5056(?:[0-35-9]\\d|4[0-68]))\\d{4}|(?:2742|305[3-9]|472[247-9]|505[2-57-9]|983[2-47-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[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[0135-79]|3[0-24679]|4[167]|5[0-2]|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-47-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-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|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]|33|44|66|77|88)[2-9]\\d{6}"], 0, 0, 0, ["305209\\d{4}"]]], UY: ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}", [6, 7, 8, 9, 10, 11, 12, 13], [["(\\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{7}|[16-8]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1], ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["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", "7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?: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|51"]], ["(\\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})|50\\d{3})\\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}"]]] } };
15
+ function jt(e, r) {
16
+ var t = Array.prototype.slice.call(r);
17
+ return t.push(Ee), e.apply(this, t);
18
+ }
19
+ function ot(e, r) {
20
+ e = e.split("-"), r = r.split("-");
21
+ for (var t = e[0].split("."), n = r[0].split("."), d = 0; d < 3; d++) {
22
+ var i = Number(t[d]), a = Number(n[d]);
23
+ if (i > a) return 1;
24
+ if (a > i) return -1;
25
+ if (!isNaN(i) && isNaN(a)) return 1;
26
+ if (isNaN(i) && !isNaN(a)) return -1;
27
+ }
28
+ return e[1] && r[1] ? e[1] > r[1] ? 1 : e[1] < r[1] ? -1 : 0 : !e[1] && r[1] ? 1 : e[1] && !r[1] ? -1 : 0;
29
+ }
30
+ var Se = {}.constructor;
31
+ function x(e) {
32
+ return e != null && e.constructor === Se;
33
+ }
34
+ function K(e) {
35
+ "@babel/helpers - typeof";
36
+ return K = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(r) {
37
+ return typeof r;
38
+ } : function(r) {
39
+ return r && typeof Symbol == "function" && r.constructor === Symbol && r !== Symbol.prototype ? "symbol" : typeof r;
40
+ }, K(e);
41
+ }
42
+ function R(e, r) {
43
+ if (!(e instanceof r))
44
+ throw new TypeError("Cannot call a class as a function");
45
+ }
46
+ function Fe(e, r) {
47
+ for (var t = 0; t < r.length; t++) {
48
+ var n = r[t];
49
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
50
+ }
51
+ }
52
+ function D(e, r, t) {
53
+ return r && Fe(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
54
+ }
55
+ var Ie = "1.2.0", Ae = "1.7.35", ut = " ext. ", Te = /^\d+$/, h = /* @__PURE__ */ function() {
56
+ function e(r) {
57
+ R(this, e), Ut(r), this.metadata = r, Ht.call(this, r);
58
+ }
59
+ return D(e, [{
60
+ key: "getCountries",
61
+ value: function() {
62
+ return Object.keys(this.metadata.countries).filter(function(t) {
63
+ return t !== "001";
64
+ });
65
+ }
66
+ }, {
67
+ key: "getCountryMetadata",
68
+ value: function(t) {
69
+ return this.metadata.countries[t];
70
+ }
71
+ }, {
72
+ key: "nonGeographic",
73
+ value: function() {
74
+ if (!(this.v1 || this.v2 || this.v3))
75
+ return this.metadata.nonGeographic || this.metadata.nonGeographical;
76
+ }
77
+ }, {
78
+ key: "hasCountry",
79
+ value: function(t) {
80
+ return this.getCountryMetadata(t) !== void 0;
81
+ }
82
+ }, {
83
+ key: "hasCallingCode",
84
+ value: function(t) {
85
+ if (this.getCountryCodesForCallingCode(t))
86
+ return !0;
87
+ if (this.nonGeographic()) {
88
+ if (this.nonGeographic()[t])
89
+ return !0;
90
+ } else {
91
+ var n = this.countryCallingCodes()[t];
92
+ if (n && n.length === 1 && n[0] === "001")
93
+ return !0;
94
+ }
95
+ }
96
+ }, {
97
+ key: "isNonGeographicCallingCode",
98
+ value: function(t) {
99
+ return this.nonGeographic() ? !!this.nonGeographic()[t] : !this.getCountryCodesForCallingCode(t);
100
+ }
101
+ // Deprecated.
102
+ }, {
103
+ key: "country",
104
+ value: function(t) {
105
+ return this.selectNumberingPlan(t);
106
+ }
107
+ }, {
108
+ key: "selectNumberingPlan",
109
+ value: function(t, n) {
110
+ if (t && Te.test(t) && (n = t, t = null), t && t !== "001") {
111
+ if (!this.hasCountry(t))
112
+ throw new Error("Unknown country: ".concat(t));
113
+ this.numberingPlan = new lt(this.getCountryMetadata(t), this);
114
+ } else if (n) {
115
+ if (!this.hasCallingCode(n))
116
+ throw new Error("Unknown calling code: ".concat(n));
117
+ this.numberingPlan = new lt(this.getNumberingPlanMetadata(n), this);
118
+ } else
119
+ this.numberingPlan = void 0;
120
+ return this;
121
+ }
122
+ }, {
123
+ key: "getCountryCodesForCallingCode",
124
+ value: function(t) {
125
+ var n = this.countryCallingCodes()[t];
126
+ if (n)
127
+ return n.length === 1 && n[0].length === 3 ? void 0 : n;
128
+ }
129
+ }, {
130
+ key: "getCountryCodeForCallingCode",
131
+ value: function(t) {
132
+ var n = this.getCountryCodesForCallingCode(t);
133
+ if (n)
134
+ return n[0];
135
+ }
136
+ }, {
137
+ key: "getNumberingPlanMetadata",
138
+ value: function(t) {
139
+ var n = this.getCountryCodeForCallingCode(t);
140
+ if (n)
141
+ return this.getCountryMetadata(n);
142
+ if (this.nonGeographic()) {
143
+ var d = this.nonGeographic()[t];
144
+ if (d)
145
+ return d;
146
+ } else {
147
+ var i = this.countryCallingCodes()[t];
148
+ if (i && i.length === 1 && i[0] === "001")
149
+ return this.metadata.countries["001"];
150
+ }
151
+ }
152
+ // Deprecated.
153
+ }, {
154
+ key: "countryCallingCode",
155
+ value: function() {
156
+ return this.numberingPlan.callingCode();
157
+ }
158
+ // Deprecated.
159
+ }, {
160
+ key: "IDDPrefix",
161
+ value: function() {
162
+ return this.numberingPlan.IDDPrefix();
163
+ }
164
+ // Deprecated.
165
+ }, {
166
+ key: "defaultIDDPrefix",
167
+ value: function() {
168
+ return this.numberingPlan.defaultIDDPrefix();
169
+ }
170
+ // Deprecated.
171
+ }, {
172
+ key: "nationalNumberPattern",
173
+ value: function() {
174
+ return this.numberingPlan.nationalNumberPattern();
175
+ }
176
+ // Deprecated.
177
+ }, {
178
+ key: "possibleLengths",
179
+ value: function() {
180
+ return this.numberingPlan.possibleLengths();
181
+ }
182
+ // Deprecated.
183
+ }, {
184
+ key: "formats",
185
+ value: function() {
186
+ return this.numberingPlan.formats();
187
+ }
188
+ // Deprecated.
189
+ }, {
190
+ key: "nationalPrefixForParsing",
191
+ value: function() {
192
+ return this.numberingPlan.nationalPrefixForParsing();
193
+ }
194
+ // Deprecated.
195
+ }, {
196
+ key: "nationalPrefixTransformRule",
197
+ value: function() {
198
+ return this.numberingPlan.nationalPrefixTransformRule();
199
+ }
200
+ // Deprecated.
201
+ }, {
202
+ key: "leadingDigits",
203
+ value: function() {
204
+ return this.numberingPlan.leadingDigits();
205
+ }
206
+ // Deprecated.
207
+ }, {
208
+ key: "hasTypes",
209
+ value: function() {
210
+ return this.numberingPlan.hasTypes();
211
+ }
212
+ // Deprecated.
213
+ }, {
214
+ key: "type",
215
+ value: function(t) {
216
+ return this.numberingPlan.type(t);
217
+ }
218
+ // Deprecated.
219
+ }, {
220
+ key: "ext",
221
+ value: function() {
222
+ return this.numberingPlan.ext();
223
+ }
224
+ }, {
225
+ key: "countryCallingCodes",
226
+ value: function() {
227
+ return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
228
+ }
229
+ // Deprecated.
230
+ }, {
231
+ key: "chooseCountryByCountryCallingCode",
232
+ value: function(t) {
233
+ return this.selectNumberingPlan(t);
234
+ }
235
+ }, {
236
+ key: "hasSelectedNumberingPlan",
237
+ value: function() {
238
+ return this.numberingPlan !== void 0;
239
+ }
240
+ }]), e;
241
+ }(), lt = /* @__PURE__ */ function() {
242
+ function e(r, t) {
243
+ R(this, e), this.globalMetadataObject = t, this.metadata = r, Ht.call(this, t.metadata);
244
+ }
245
+ return D(e, [{
246
+ key: "callingCode",
247
+ value: function() {
248
+ return this.metadata[0];
249
+ }
250
+ // Formatting information for regions which share
251
+ // a country calling code is contained by only one region
252
+ // for performance reasons. For example, for NANPA region
253
+ // ("North American Numbering Plan Administration",
254
+ // which includes USA, Canada, Cayman Islands, Bahamas, etc)
255
+ // it will be contained in the metadata for `US`.
256
+ }, {
257
+ key: "getDefaultCountryMetadataForRegion",
258
+ value: function() {
259
+ return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
260
+ }
261
+ // Is always present.
262
+ }, {
263
+ key: "IDDPrefix",
264
+ value: function() {
265
+ if (!(this.v1 || this.v2))
266
+ return this.metadata[1];
267
+ }
268
+ // Is only present when a country supports multiple IDD prefixes.
269
+ }, {
270
+ key: "defaultIDDPrefix",
271
+ value: function() {
272
+ if (!(this.v1 || this.v2))
273
+ return this.metadata[12];
274
+ }
275
+ }, {
276
+ key: "nationalNumberPattern",
277
+ value: function() {
278
+ return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
279
+ }
280
+ // "possible length" data is always present in Google's metadata.
281
+ }, {
282
+ key: "possibleLengths",
283
+ value: function() {
284
+ if (!this.v1)
285
+ return this.metadata[this.v2 ? 2 : 3];
286
+ }
287
+ }, {
288
+ key: "_getFormats",
289
+ value: function(t) {
290
+ return t[this.v1 ? 2 : this.v2 ? 3 : 4];
291
+ }
292
+ // For countries of the same region (e.g. NANPA)
293
+ // formats are all stored in the "main" country for that region.
294
+ // E.g. "RU" and "KZ", "US" and "CA".
295
+ }, {
296
+ key: "formats",
297
+ value: function() {
298
+ var t = this, n = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
299
+ return n.map(function(d) {
300
+ return new _e(d, t);
301
+ });
302
+ }
303
+ }, {
304
+ key: "nationalPrefix",
305
+ value: function() {
306
+ return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
307
+ }
308
+ }, {
309
+ key: "_getNationalPrefixFormattingRule",
310
+ value: function(t) {
311
+ return t[this.v1 ? 4 : this.v2 ? 5 : 6];
312
+ }
313
+ // For countries of the same region (e.g. NANPA)
314
+ // national prefix formatting rule is stored in the "main" country for that region.
315
+ // E.g. "RU" and "KZ", "US" and "CA".
316
+ }, {
317
+ key: "nationalPrefixFormattingRule",
318
+ value: function() {
319
+ return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
320
+ }
321
+ }, {
322
+ key: "_nationalPrefixForParsing",
323
+ value: function() {
324
+ return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
325
+ }
326
+ }, {
327
+ key: "nationalPrefixForParsing",
328
+ value: function() {
329
+ return this._nationalPrefixForParsing() || this.nationalPrefix();
330
+ }
331
+ }, {
332
+ key: "nationalPrefixTransformRule",
333
+ value: function() {
334
+ return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
335
+ }
336
+ }, {
337
+ key: "_getNationalPrefixIsOptionalWhenFormatting",
338
+ value: function() {
339
+ return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
340
+ }
341
+ // For countries of the same region (e.g. NANPA)
342
+ // "national prefix is optional when formatting" flag is
343
+ // stored in the "main" country for that region.
344
+ // E.g. "RU" and "KZ", "US" and "CA".
345
+ }, {
346
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
347
+ value: function() {
348
+ return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
349
+ }
350
+ }, {
351
+ key: "leadingDigits",
352
+ value: function() {
353
+ return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
354
+ }
355
+ }, {
356
+ key: "types",
357
+ value: function() {
358
+ return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
359
+ }
360
+ }, {
361
+ key: "hasTypes",
362
+ value: function() {
363
+ return this.types() && this.types().length === 0 ? !1 : !!this.types();
364
+ }
365
+ }, {
366
+ key: "type",
367
+ value: function(t) {
368
+ if (this.hasTypes() && st(this.types(), t))
369
+ return new we(st(this.types(), t), this);
370
+ }
371
+ }, {
372
+ key: "ext",
373
+ value: function() {
374
+ return this.v1 || this.v2 ? ut : this.metadata[13] || ut;
375
+ }
376
+ }]), e;
377
+ }(), _e = /* @__PURE__ */ function() {
378
+ function e(r, t) {
379
+ R(this, e), this._format = r, this.metadata = t;
380
+ }
381
+ return D(e, [{
382
+ key: "pattern",
383
+ value: function() {
384
+ return this._format[0];
385
+ }
386
+ }, {
387
+ key: "format",
388
+ value: function() {
389
+ return this._format[1];
390
+ }
391
+ }, {
392
+ key: "leadingDigitsPatterns",
393
+ value: function() {
394
+ return this._format[2] || [];
395
+ }
396
+ }, {
397
+ key: "nationalPrefixFormattingRule",
398
+ value: function() {
399
+ return this._format[3] || this.metadata.nationalPrefixFormattingRule();
400
+ }
401
+ }, {
402
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
403
+ value: function() {
404
+ return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
405
+ }
406
+ }, {
407
+ key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
408
+ value: function() {
409
+ return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
410
+ }
411
+ // Checks whether national prefix formatting rule contains national prefix.
412
+ }, {
413
+ key: "usesNationalPrefix",
414
+ value: function() {
415
+ return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
416
+ !Oe.test(this.nationalPrefixFormattingRule()));
417
+ }
418
+ }, {
419
+ key: "internationalFormat",
420
+ value: function() {
421
+ return this._format[5] || this.format();
422
+ }
423
+ }]), e;
424
+ }(), Oe = /^\(?\$1\)?$/, we = /* @__PURE__ */ function() {
425
+ function e(r, t) {
426
+ R(this, e), this.type = r, this.metadata = t;
427
+ }
428
+ return D(e, [{
429
+ key: "pattern",
430
+ value: function() {
431
+ return this.metadata.v1 ? this.type : this.type[0];
432
+ }
433
+ }, {
434
+ key: "possibleLengths",
435
+ value: function() {
436
+ if (!this.metadata.v1)
437
+ return this.type[1] || this.metadata.possibleLengths();
438
+ }
439
+ }]), e;
440
+ }();
441
+ function st(e, r) {
442
+ switch (r) {
443
+ case "FIXED_LINE":
444
+ return e[0];
445
+ case "MOBILE":
446
+ return e[1];
447
+ case "TOLL_FREE":
448
+ return e[2];
449
+ case "PREMIUM_RATE":
450
+ return e[3];
451
+ case "PERSONAL_NUMBER":
452
+ return e[4];
453
+ case "VOICEMAIL":
454
+ return e[5];
455
+ case "UAN":
456
+ return e[6];
457
+ case "PAGER":
458
+ return e[7];
459
+ case "VOIP":
460
+ return e[8];
461
+ case "SHARED_COST":
462
+ return e[9];
463
+ }
464
+ }
465
+ function Ut(e) {
466
+ if (!e)
467
+ throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
468
+ if (!x(e) || !x(e.countries))
469
+ 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(x(e) ? "an object of shape: { " + Object.keys(e).join(", ") + " }" : "a " + Re(e) + ": " + e, "."));
470
+ }
471
+ var Re = function(r) {
472
+ return K(r);
473
+ };
474
+ function et(e, r) {
475
+ if (r = new h(r), r.hasCountry(e))
476
+ return r.country(e).countryCallingCode();
477
+ throw new Error("Unknown country: ".concat(e));
478
+ }
479
+ function Ht(e) {
480
+ var r = e.version;
481
+ typeof r == "number" ? (this.v1 = r === 1, this.v2 = r === 2, this.v3 = r === 3, this.v4 = r === 4) : r ? ot(r, Ie) === -1 ? this.v2 = !0 : ot(r, Ae) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
482
+ }
483
+ function M(e, r) {
484
+ return De(e, void 0, r);
485
+ }
486
+ function De(e, r, t) {
487
+ var n = t.type(r), d = n && n.possibleLengths() || t.possibleLengths();
488
+ if (!d)
489
+ return "IS_POSSIBLE";
490
+ var i = e.length, a = d[0];
491
+ return a === i ? "IS_POSSIBLE" : a > i ? "TOO_SHORT" : d[d.length - 1] < i ? "TOO_LONG" : d.indexOf(i, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
492
+ }
493
+ function Me(e, r, t) {
494
+ if (r === void 0 && (r = {}), t = new h(t), r.v2) {
495
+ if (!e.countryCallingCode)
496
+ throw new Error("Invalid phone number object passed");
497
+ t.selectNumberingPlan(e.countryCallingCode);
498
+ } else {
499
+ if (!e.phone)
500
+ return !1;
501
+ if (e.country) {
502
+ if (!t.hasCountry(e.country))
503
+ throw new Error("Unknown country: ".concat(e.country));
504
+ t.country(e.country);
505
+ } else {
506
+ if (!e.countryCallingCode)
507
+ throw new Error("Invalid phone number object passed");
508
+ t.selectNumberingPlan(e.countryCallingCode);
509
+ }
510
+ }
511
+ if (t.possibleLengths())
512
+ return Wt(e.phone || e.nationalNumber, t);
513
+ if (e.countryCallingCode && t.isNonGeographicCallingCode(e.countryCallingCode))
514
+ return !0;
515
+ throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
516
+ }
517
+ function Wt(e, r) {
518
+ switch (M(e, r)) {
519
+ case "IS_POSSIBLE":
520
+ return !0;
521
+ // This library ignores "local-only" phone numbers (for simplicity).
522
+ // See the readme for more info on what are "local-only" phone numbers.
523
+ // case 'IS_POSSIBLE_LOCAL_ONLY':
524
+ // return !isInternational
525
+ default:
526
+ return !1;
527
+ }
528
+ }
529
+ function C(e, r) {
530
+ return e = e || "", new RegExp("^(?:" + r + ")$").test(e);
531
+ }
532
+ function Le(e, r) {
533
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
534
+ if (t) return (t = t.call(e)).next.bind(t);
535
+ if (Array.isArray(e) || (t = ke(e)) || r) {
536
+ t && (e = t);
537
+ var n = 0;
538
+ return function() {
539
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
540
+ };
541
+ }
542
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
543
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
544
+ }
545
+ function ke(e, r) {
546
+ if (e) {
547
+ if (typeof e == "string") return ft(e, r);
548
+ var t = Object.prototype.toString.call(e).slice(8, -1);
549
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
550
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return ft(e, r);
551
+ }
552
+ }
553
+ function ft(e, r) {
554
+ (r == null || r > e.length) && (r = e.length);
555
+ for (var t = 0, n = new Array(r); t < r; t++)
556
+ n[t] = e[t];
557
+ return n;
558
+ }
559
+ var Ge = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
560
+ function rt(e, r, t) {
561
+ if (r = r || {}, !(!e.country && !e.countryCallingCode)) {
562
+ t = new h(t), t.selectNumberingPlan(e.country, e.countryCallingCode);
563
+ var n = r.v2 ? e.nationalNumber : e.phone;
564
+ if (C(n, t.nationalNumberPattern())) {
565
+ if (B(n, "FIXED_LINE", t))
566
+ return t.type("MOBILE") && t.type("MOBILE").pattern() === "" || !t.type("MOBILE") || B(n, "MOBILE", t) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
567
+ for (var d = Le(Ge), i; !(i = d()).done; ) {
568
+ var a = i.value;
569
+ if (B(n, a, t))
570
+ return a;
571
+ }
572
+ }
573
+ }
574
+ }
575
+ function B(e, r, t) {
576
+ return r = t.type(r), !r || !r.pattern() || r.possibleLengths() && r.possibleLengths().indexOf(e.length) < 0 ? !1 : C(e, r.pattern());
577
+ }
578
+ function Be(e, r, t) {
579
+ if (r = r || {}, t = new h(t), t.selectNumberingPlan(e.country, e.countryCallingCode), t.hasTypes())
580
+ return rt(e, r, t.metadata) !== void 0;
581
+ var n = r.v2 ? e.nationalNumber : e.phone;
582
+ return C(n, t.nationalNumberPattern());
583
+ }
584
+ function je(e, r, t) {
585
+ var n = new h(t), d = n.getCountryCodesForCallingCode(e);
586
+ return d ? d.filter(function(i) {
587
+ return Ue(r, i, t);
588
+ }) : [];
589
+ }
590
+ function Ue(e, r, t) {
591
+ var n = new h(t);
592
+ return n.selectNumberingPlan(r), n.numberingPlan.possibleLengths().indexOf(e.length) >= 0;
593
+ }
594
+ var nt = 2, He = 17, We = 3, m = "0-90-9٠-٩۰-۹", Ve = "-‐-―−ー-", Ke = "//", Xe = "..", Ye = "  ­​⁠ ", Ze = "()()[]\\[\\]", Je = "~⁓∼~", b = "".concat(Ve).concat(Ke).concat(Xe).concat(Ye).concat(Ze).concat(Je), L = "++", Qe = new RegExp("([" + m + "])");
595
+ function Vt(e, r, t, n) {
596
+ if (r) {
597
+ var d = new h(n);
598
+ d.selectNumberingPlan(r, t);
599
+ var i = new RegExp(d.IDDPrefix());
600
+ if (e.search(i) === 0) {
601
+ e = e.slice(e.match(i)[0].length);
602
+ var a = e.match(Qe);
603
+ if (!(a && a[1] != null && a[1].length > 0 && a[1] === "0"))
604
+ return e;
605
+ }
606
+ }
607
+ }
608
+ function X(e, r) {
609
+ if (e && r.numberingPlan.nationalPrefixForParsing()) {
610
+ var t = new RegExp("^(?:" + r.numberingPlan.nationalPrefixForParsing() + ")"), n = t.exec(e);
611
+ if (n) {
612
+ var d, i, a = n.length - 1, $ = a > 0 && n[a];
613
+ if (r.nationalPrefixTransformRule() && $)
614
+ d = e.replace(t, r.nationalPrefixTransformRule()), a > 1 && (i = n[1]);
615
+ else {
616
+ var o = n[0];
617
+ d = e.slice(o.length), $ && (i = n[1]);
618
+ }
619
+ var u;
620
+ if ($) {
621
+ var l = e.indexOf(n[1]), c = e.slice(0, l);
622
+ c === r.numberingPlan.nationalPrefix() && (u = r.numberingPlan.nationalPrefix());
623
+ } else
624
+ u = n[0];
625
+ return {
626
+ nationalNumber: d,
627
+ nationalPrefix: u,
628
+ carrierCode: i
629
+ };
630
+ }
631
+ }
632
+ return {
633
+ nationalNumber: e
634
+ };
635
+ }
636
+ function Y(e, r) {
637
+ var t = X(e, r), n = t.carrierCode, d = t.nationalNumber;
638
+ if (d !== e) {
639
+ if (!qe(e, d, r))
640
+ return {
641
+ nationalNumber: e
642
+ };
643
+ if (r.possibleLengths() && !ze(d, r))
644
+ return {
645
+ nationalNumber: e
646
+ };
647
+ }
648
+ return {
649
+ nationalNumber: d,
650
+ carrierCode: n
651
+ };
652
+ }
653
+ function qe(e, r, t) {
654
+ return !(C(e, t.nationalNumberPattern()) && !C(r, t.nationalNumberPattern()));
655
+ }
656
+ function ze(e, r) {
657
+ switch (M(e, r)) {
658
+ case "TOO_SHORT":
659
+ case "INVALID_LENGTH":
660
+ return !1;
661
+ default:
662
+ return !0;
663
+ }
664
+ }
665
+ function Kt(e, r, t, n) {
666
+ var d = r ? et(r, n) : t;
667
+ if (e.indexOf(d) === 0) {
668
+ n = new h(n), n.selectNumberingPlan(r, t);
669
+ var i = e.slice(d.length), a = Y(i, n), $ = a.nationalNumber, o = Y(e, n), u = o.nationalNumber;
670
+ if (!C(u, n.nationalNumberPattern()) && C($, n.nationalNumberPattern()) || M(u, n) === "TOO_LONG")
671
+ return {
672
+ countryCallingCode: d,
673
+ number: i
674
+ };
675
+ }
676
+ return {
677
+ number: e
678
+ };
679
+ }
680
+ function dt(e, r, t, n) {
681
+ if (!e)
682
+ return {};
683
+ var d;
684
+ if (e[0] !== "+") {
685
+ var i = Vt(e, r, t, n);
686
+ if (i && i !== e)
687
+ d = !0, e = "+" + i;
688
+ else {
689
+ if (r || t) {
690
+ var a = Kt(e, r, t, n), $ = a.countryCallingCode, o = a.number;
691
+ if ($)
692
+ return {
693
+ countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
694
+ countryCallingCode: $,
695
+ number: o
696
+ };
697
+ }
698
+ return {
699
+ // No need to set it to `UNSPECIFIED`. It can be just `undefined`.
700
+ // countryCallingCodeSource: 'UNSPECIFIED',
701
+ number: e
702
+ };
703
+ }
704
+ }
705
+ if (e[1] === "0")
706
+ return {};
707
+ n = new h(n);
708
+ for (var u = 2; u - 1 <= We && u <= e.length; ) {
709
+ var l = e.slice(1, u);
710
+ if (n.hasCallingCode(l))
711
+ return n.selectNumberingPlan(l), {
712
+ countryCallingCodeSource: d ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
713
+ countryCallingCode: l,
714
+ number: e.slice(u)
715
+ };
716
+ u++;
717
+ }
718
+ return {};
719
+ }
720
+ function Xt(e) {
721
+ return e.replace(new RegExp("[".concat(b, "]+"), "g"), " ").trim();
722
+ }
723
+ var Yt = /(\$\d)/;
724
+ function Zt(e, r, t) {
725
+ var n = t.useInternationalFormat, d = t.withNationalPrefix;
726
+ t.carrierCode, t.metadata;
727
+ var i = e.replace(new RegExp(r.pattern()), n ? r.internationalFormat() : (
728
+ // This library doesn't use `domestic_carrier_code_formatting_rule`,
729
+ // because that one is only used when formatting phone numbers
730
+ // for dialing from a mobile phone, and this is not a dialing library.
731
+ // carrierCode && format.domesticCarrierCodeFormattingRule()
732
+ // // First, replace the $CC in the formatting rule with the desired carrier code.
733
+ // // Then, replace the $FG in the formatting rule with the first group
734
+ // // and the carrier code combined in the appropriate way.
735
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))
736
+ // : (
737
+ // withNationalPrefix && format.nationalPrefixFormattingRule()
738
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())
739
+ // : format.format()
740
+ // )
741
+ d && r.nationalPrefixFormattingRule() ? r.format().replace(Yt, r.nationalPrefixFormattingRule()) : r.format()
742
+ ));
743
+ return n ? Xt(i) : i;
744
+ }
745
+ var tr = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
746
+ function er(e, r, t) {
747
+ var n = new h(t);
748
+ if (n.selectNumberingPlan(e, r), n.defaultIDDPrefix())
749
+ return n.defaultIDDPrefix();
750
+ if (tr.test(n.IDDPrefix()))
751
+ return n.IDDPrefix();
752
+ }
753
+ var rr = ";ext=", E = function(r) {
754
+ return "([".concat(m, "]{1,").concat(r, "})");
755
+ };
756
+ function Jt(e) {
757
+ var r = "20", t = "15", n = "9", d = "6", i = "[  \\t,]*", a = "[:\\..]?[  \\t,-]*", $ = "#?", o = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)", u = "(?:[xx##~~]|int|int)", l = "[- ]+", c = "[  \\t]*", s = "(?:,{2}|;)", f = rr + E(r), y = i + o + a + E(r) + $, p = i + u + a + E(n) + $, v = l + E(d) + "#", k = c + s + a + E(t) + $, G = c + "(?:,)+" + a + E(n) + $;
758
+ return f + "|" + y + "|" + p + "|" + v + "|" + k + "|" + G;
759
+ }
760
+ var nr = "[" + m + "]{" + nt + "}", dr = "[" + L + "]{0,1}(?:[" + b + "]*[" + m + "]){3,}[" + b + m + "]*", ir = new RegExp("^[" + L + "]{0,1}(?:[" + b + "]*[" + m + "]){1,2}$", "i"), ar = dr + // Phone number extensions
761
+ "(?:" + Jt() + ")?", $r = new RegExp(
762
+ // Either a short two-digit-only phone number
763
+ "^" + nr + "$|^" + ar + "$",
764
+ "i"
765
+ );
766
+ function or(e) {
767
+ return e.length >= nt && $r.test(e);
768
+ }
769
+ function ur(e) {
770
+ return ir.test(e);
771
+ }
772
+ function lr(e) {
773
+ var r = e.number, t = e.ext;
774
+ if (!r)
775
+ return "";
776
+ if (r[0] !== "+")
777
+ throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
778
+ return "tel:".concat(r).concat(t ? ";ext=" + t : "");
779
+ }
780
+ function sr(e, r) {
781
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
782
+ if (t) return (t = t.call(e)).next.bind(t);
783
+ if (Array.isArray(e) || (t = fr(e)) || r) {
784
+ t && (e = t);
785
+ var n = 0;
786
+ return function() {
787
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
788
+ };
789
+ }
790
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
791
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
792
+ }
793
+ function fr(e, r) {
794
+ if (e) {
795
+ if (typeof e == "string") return ct(e, r);
796
+ var t = Object.prototype.toString.call(e).slice(8, -1);
797
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
798
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return ct(e, r);
799
+ }
800
+ }
801
+ function ct(e, r) {
802
+ (r == null || r > e.length) && (r = e.length);
803
+ for (var t = 0, n = new Array(r); t < r; t++)
804
+ n[t] = e[t];
805
+ return n;
806
+ }
807
+ function ht(e, r) {
808
+ var t = Object.keys(e);
809
+ if (Object.getOwnPropertySymbols) {
810
+ var n = Object.getOwnPropertySymbols(e);
811
+ r && (n = n.filter(function(d) {
812
+ return Object.getOwnPropertyDescriptor(e, d).enumerable;
813
+ })), t.push.apply(t, n);
814
+ }
815
+ return t;
816
+ }
817
+ function gt(e) {
818
+ for (var r = 1; r < arguments.length; r++) {
819
+ var t = arguments[r] != null ? arguments[r] : {};
820
+ r % 2 ? ht(Object(t), !0).forEach(function(n) {
821
+ cr(e, n, t[n]);
822
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ht(Object(t)).forEach(function(n) {
823
+ Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
824
+ });
825
+ }
826
+ return e;
827
+ }
828
+ function cr(e, r, t) {
829
+ return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;
830
+ }
831
+ var mt = {
832
+ formatExtension: function(r, t, n) {
833
+ return "".concat(r).concat(n.ext()).concat(t);
834
+ }
835
+ };
836
+ function hr(e, r, t, n) {
837
+ if (t ? t = gt(gt({}, mt), t) : t = mt, n = new h(n), e.country && e.country !== "001") {
838
+ if (!n.hasCountry(e.country))
839
+ throw new Error("Unknown country: ".concat(e.country));
840
+ n.country(e.country);
841
+ } else if (e.countryCallingCode)
842
+ n.selectNumberingPlan(e.countryCallingCode);
843
+ else return e.phone || "";
844
+ var d = n.countryCallingCode(), i = t.v2 ? e.nationalNumber : e.phone, a;
845
+ switch (r) {
846
+ case "NATIONAL":
847
+ return i ? (a = O(i, e.carrierCode, "NATIONAL", n, t), j(a, e.ext, n, t.formatExtension)) : "";
848
+ case "INTERNATIONAL":
849
+ return i ? (a = O(i, null, "INTERNATIONAL", n, t), a = "+".concat(d, " ").concat(a), j(a, e.ext, n, t.formatExtension)) : "+".concat(d);
850
+ case "E.164":
851
+ return "+".concat(d).concat(i);
852
+ case "RFC3966":
853
+ return lr({
854
+ number: "+".concat(d).concat(i),
855
+ ext: e.ext
856
+ });
857
+ // For reference, here's Google's IDD formatter:
858
+ // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546
859
+ // Not saying that this IDD formatter replicates it 1:1, but it seems to work.
860
+ // Who would even need to format phone numbers in IDD format anyway?
861
+ case "IDD":
862
+ if (!t.fromCountry)
863
+ return;
864
+ var $ = mr(i, e.carrierCode, d, t.fromCountry, n);
865
+ return j($, e.ext, n, t.formatExtension);
866
+ default:
867
+ throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(r, '"'));
868
+ }
869
+ }
870
+ function O(e, r, t, n, d) {
871
+ var i = gr(n.formats(), e);
872
+ return i ? Zt(e, i, {
873
+ useInternationalFormat: t === "INTERNATIONAL",
874
+ withNationalPrefix: !(i.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && d && d.nationalPrefix === !1),
875
+ carrierCode: r,
876
+ metadata: n
877
+ }) : e;
878
+ }
879
+ function gr(e, r) {
880
+ for (var t = sr(e), n; !(n = t()).done; ) {
881
+ var d = n.value;
882
+ if (d.leadingDigitsPatterns().length > 0) {
883
+ var i = d.leadingDigitsPatterns()[d.leadingDigitsPatterns().length - 1];
884
+ if (r.search(i) !== 0)
885
+ continue;
886
+ }
887
+ if (C(r, d.pattern()))
888
+ return d;
889
+ }
890
+ }
891
+ function j(e, r, t, n) {
892
+ return r ? n(e, r, t) : e;
893
+ }
894
+ function mr(e, r, t, n, d) {
895
+ var i = et(n, d.metadata);
896
+ if (i === t) {
897
+ var a = O(e, r, "NATIONAL", d);
898
+ return t === "1" ? t + " " + a : a;
899
+ }
900
+ var $ = er(n, void 0, d.metadata);
901
+ if ($)
902
+ return "".concat($, " ").concat(t, " ").concat(O(e, null, "INTERNATIONAL", d));
903
+ }
904
+ function yt(e, r) {
905
+ var t = Object.keys(e);
906
+ if (Object.getOwnPropertySymbols) {
907
+ var n = Object.getOwnPropertySymbols(e);
908
+ r && (n = n.filter(function(d) {
909
+ return Object.getOwnPropertyDescriptor(e, d).enumerable;
910
+ })), t.push.apply(t, n);
911
+ }
912
+ return t;
913
+ }
914
+ function vt(e) {
915
+ for (var r = 1; r < arguments.length; r++) {
916
+ var t = arguments[r] != null ? arguments[r] : {};
917
+ r % 2 ? yt(Object(t), !0).forEach(function(n) {
918
+ yr(e, n, t[n]);
919
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : yt(Object(t)).forEach(function(n) {
920
+ Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
921
+ });
922
+ }
923
+ return e;
924
+ }
925
+ function yr(e, r, t) {
926
+ return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;
927
+ }
928
+ function vr(e, r) {
929
+ if (!(e instanceof r))
930
+ throw new TypeError("Cannot call a class as a function");
931
+ }
932
+ function Nr(e, r) {
933
+ for (var t = 0; t < r.length; t++) {
934
+ var n = r[t];
935
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
936
+ }
937
+ }
938
+ function br(e, r, t) {
939
+ return r && Nr(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
940
+ }
941
+ var Qt = /* @__PURE__ */ function() {
942
+ function e(r, t, n) {
943
+ if (vr(this, e), !r)
944
+ throw new TypeError("First argument is required");
945
+ if (typeof r != "string")
946
+ throw new TypeError("First argument must be a string");
947
+ if (r[0] === "+" && !t)
948
+ throw new TypeError("`metadata` argument not passed");
949
+ if (x(t) && x(t.countries)) {
950
+ n = t;
951
+ var d = r;
952
+ if (!Pr.test(d))
953
+ throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
954
+ var i = dt(d, void 0, void 0, n), a = i.countryCallingCode, $ = i.number;
955
+ if (t = $, r = a, !t)
956
+ throw new Error("Invalid `number` argument passed: too short");
957
+ }
958
+ if (!t)
959
+ throw new TypeError("`nationalNumber` argument is required");
960
+ if (typeof t != "string")
961
+ throw new TypeError("`nationalNumber` argument must be a string");
962
+ Ut(n);
963
+ var o = Cr(r, n), u = o.country, l = o.countryCallingCode;
964
+ this.country = u, this.countryCallingCode = l, this.nationalNumber = t, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
965
+ return n;
966
+ };
967
+ }
968
+ return br(e, [{
969
+ key: "setExt",
970
+ value: function(t) {
971
+ this.ext = t;
972
+ }
973
+ }, {
974
+ key: "getPossibleCountries",
975
+ value: function() {
976
+ return this.country ? [this.country] : je(this.countryCallingCode, this.nationalNumber, this.getMetadata());
977
+ }
978
+ }, {
979
+ key: "isPossible",
980
+ value: function() {
981
+ return Me(this, {
982
+ v2: !0
983
+ }, this.getMetadata());
984
+ }
985
+ }, {
986
+ key: "isValid",
987
+ value: function() {
988
+ return Be(this, {
989
+ v2: !0
990
+ }, this.getMetadata());
991
+ }
992
+ }, {
993
+ key: "isNonGeographic",
994
+ value: function() {
995
+ var t = new h(this.getMetadata());
996
+ return t.isNonGeographicCallingCode(this.countryCallingCode);
997
+ }
998
+ }, {
999
+ key: "isEqual",
1000
+ value: function(t) {
1001
+ return this.number === t.number && this.ext === t.ext;
1002
+ }
1003
+ // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
1004
+ // but later it was found out that it doesn't include the possible `TOO_SHORT` result
1005
+ // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
1006
+ // so eventually I simply commented out this method from the `PhoneNumber` class
1007
+ // and just left the `validatePhoneNumberLength()` function, even though that one would require
1008
+ // and additional step to also validate the actual country / calling code of the phone number.
1009
+ // validateLength() {
1010
+ // const metadata = new Metadata(this.getMetadata())
1011
+ // metadata.selectNumberingPlan(this.countryCallingCode)
1012
+ // const result = checkNumberLength(this.nationalNumber, metadata)
1013
+ // if (result !== 'IS_POSSIBLE') {
1014
+ // return result
1015
+ // }
1016
+ // }
1017
+ }, {
1018
+ key: "getType",
1019
+ value: function() {
1020
+ return rt(this, {
1021
+ v2: !0
1022
+ }, this.getMetadata());
1023
+ }
1024
+ }, {
1025
+ key: "format",
1026
+ value: function(t, n) {
1027
+ return hr(this, t, n ? vt(vt({}, n), {}, {
1028
+ v2: !0
1029
+ }) : {
1030
+ v2: !0
1031
+ }, this.getMetadata());
1032
+ }
1033
+ }, {
1034
+ key: "formatNational",
1035
+ value: function(t) {
1036
+ return this.format("NATIONAL", t);
1037
+ }
1038
+ }, {
1039
+ key: "formatInternational",
1040
+ value: function(t) {
1041
+ return this.format("INTERNATIONAL", t);
1042
+ }
1043
+ }, {
1044
+ key: "getURI",
1045
+ value: function(t) {
1046
+ return this.format("RFC3966", t);
1047
+ }
1048
+ }]), e;
1049
+ }(), pr = function(r) {
1050
+ return /^[A-Z]{2}$/.test(r);
1051
+ };
1052
+ function Cr(e, r) {
1053
+ var t, n, d = new h(r);
1054
+ return pr(e) ? (t = e, d.selectNumberingPlan(t), n = d.countryCallingCode()) : n = e, {
1055
+ country: t,
1056
+ countryCallingCode: n
1057
+ };
1058
+ }
1059
+ var Pr = /^\+\d+$/;
1060
+ function Z(e) {
1061
+ "@babel/helpers - typeof";
1062
+ return Z = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(r) {
1063
+ return typeof r;
1064
+ } : function(r) {
1065
+ return r && typeof Symbol == "function" && r.constructor === Symbol && r !== Symbol.prototype ? "symbol" : typeof r;
1066
+ }, Z(e);
1067
+ }
1068
+ function xr(e, r, t) {
1069
+ return Object.defineProperty(e, "prototype", { writable: !1 }), e;
1070
+ }
1071
+ function Er(e, r) {
1072
+ if (!(e instanceof r))
1073
+ throw new TypeError("Cannot call a class as a function");
1074
+ }
1075
+ function Sr(e, r) {
1076
+ if (typeof r != "function" && r !== null)
1077
+ throw new TypeError("Super expression must either be null or a function");
1078
+ e.prototype = Object.create(r && r.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), Object.defineProperty(e, "prototype", { writable: !1 }), r && F(e, r);
1079
+ }
1080
+ function Fr(e) {
1081
+ var r = zt();
1082
+ return function() {
1083
+ var n = I(e), d;
1084
+ if (r) {
1085
+ var i = I(this).constructor;
1086
+ d = Reflect.construct(n, arguments, i);
1087
+ } else
1088
+ d = n.apply(this, arguments);
1089
+ return Ir(this, d);
1090
+ };
1091
+ }
1092
+ function Ir(e, r) {
1093
+ if (r && (Z(r) === "object" || typeof r == "function"))
1094
+ return r;
1095
+ if (r !== void 0)
1096
+ throw new TypeError("Derived constructors may only return object or undefined");
1097
+ return qt(e);
1098
+ }
1099
+ function qt(e) {
1100
+ if (e === void 0)
1101
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1102
+ return e;
1103
+ }
1104
+ function J(e) {
1105
+ var r = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
1106
+ return J = function(n) {
1107
+ if (n === null || !Ar(n)) return n;
1108
+ if (typeof n != "function")
1109
+ throw new TypeError("Super expression must either be null or a function");
1110
+ if (typeof r < "u") {
1111
+ if (r.has(n)) return r.get(n);
1112
+ r.set(n, d);
1113
+ }
1114
+ function d() {
1115
+ return T(n, arguments, I(this).constructor);
1116
+ }
1117
+ return d.prototype = Object.create(n.prototype, { constructor: { value: d, enumerable: !1, writable: !0, configurable: !0 } }), F(d, n);
1118
+ }, J(e);
1119
+ }
1120
+ function T(e, r, t) {
1121
+ return zt() ? T = Reflect.construct : T = function(d, i, a) {
1122
+ var $ = [null];
1123
+ $.push.apply($, i);
1124
+ var o = Function.bind.apply(d, $), u = new o();
1125
+ return a && F(u, a.prototype), u;
1126
+ }, T.apply(null, arguments);
1127
+ }
1128
+ function zt() {
1129
+ if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham) return !1;
1130
+ if (typeof Proxy == "function") return !0;
1131
+ try {
1132
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
1133
+ })), !0;
1134
+ } catch {
1135
+ return !1;
1136
+ }
1137
+ }
1138
+ function Ar(e) {
1139
+ return Function.toString.call(e).indexOf("[native code]") !== -1;
1140
+ }
1141
+ function F(e, r) {
1142
+ return F = Object.setPrototypeOf || function(n, d) {
1143
+ return n.__proto__ = d, n;
1144
+ }, F(e, r);
1145
+ }
1146
+ function I(e) {
1147
+ return I = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {
1148
+ return t.__proto__ || Object.getPrototypeOf(t);
1149
+ }, I(e);
1150
+ }
1151
+ var P = /* @__PURE__ */ function(e) {
1152
+ Sr(t, e);
1153
+ var r = Fr(t);
1154
+ function t(n) {
1155
+ var d;
1156
+ return Er(this, t), d = r.call(this, n), Object.setPrototypeOf(qt(d), t.prototype), d.name = d.constructor.name, d;
1157
+ }
1158
+ return xr(t);
1159
+ }(/* @__PURE__ */ J(Error)), Nt = new RegExp("(?:" + Jt() + ")$", "i");
1160
+ function Tr(e) {
1161
+ var r = e.search(Nt);
1162
+ if (r < 0)
1163
+ return {};
1164
+ for (var t = e.slice(0, r), n = e.match(Nt), d = 1; d < n.length; ) {
1165
+ if (n[d])
1166
+ return {
1167
+ number: t,
1168
+ ext: n[d]
1169
+ };
1170
+ d++;
1171
+ }
1172
+ }
1173
+ function _r(e, r) {
1174
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
1175
+ if (t) return (t = t.call(e)).next.bind(t);
1176
+ if (Array.isArray(e) || (t = Or(e)) || r) {
1177
+ t && (e = t);
1178
+ var n = 0;
1179
+ return function() {
1180
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
1181
+ };
1182
+ }
1183
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1184
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1185
+ }
1186
+ function Or(e, r) {
1187
+ if (e) {
1188
+ if (typeof e == "string") return bt(e, r);
1189
+ var t = Object.prototype.toString.call(e).slice(8, -1);
1190
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
1191
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return bt(e, r);
1192
+ }
1193
+ }
1194
+ function bt(e, r) {
1195
+ (r == null || r > e.length) && (r = e.length);
1196
+ for (var t = 0, n = new Array(r); t < r; t++)
1197
+ n[t] = e[t];
1198
+ return n;
1199
+ }
1200
+ var wr = {
1201
+ 0: "0",
1202
+ 1: "1",
1203
+ 2: "2",
1204
+ 3: "3",
1205
+ 4: "4",
1206
+ 5: "5",
1207
+ 6: "6",
1208
+ 7: "7",
1209
+ 8: "8",
1210
+ 9: "9",
1211
+ "0": "0",
1212
+ // Fullwidth digit 0
1213
+ "1": "1",
1214
+ // Fullwidth digit 1
1215
+ "2": "2",
1216
+ // Fullwidth digit 2
1217
+ "3": "3",
1218
+ // Fullwidth digit 3
1219
+ "4": "4",
1220
+ // Fullwidth digit 4
1221
+ "5": "5",
1222
+ // Fullwidth digit 5
1223
+ "6": "6",
1224
+ // Fullwidth digit 6
1225
+ "7": "7",
1226
+ // Fullwidth digit 7
1227
+ "8": "8",
1228
+ // Fullwidth digit 8
1229
+ "9": "9",
1230
+ // Fullwidth digit 9
1231
+ "٠": "0",
1232
+ // Arabic-indic digit 0
1233
+ "١": "1",
1234
+ // Arabic-indic digit 1
1235
+ "٢": "2",
1236
+ // Arabic-indic digit 2
1237
+ "٣": "3",
1238
+ // Arabic-indic digit 3
1239
+ "٤": "4",
1240
+ // Arabic-indic digit 4
1241
+ "٥": "5",
1242
+ // Arabic-indic digit 5
1243
+ "٦": "6",
1244
+ // Arabic-indic digit 6
1245
+ "٧": "7",
1246
+ // Arabic-indic digit 7
1247
+ "٨": "8",
1248
+ // Arabic-indic digit 8
1249
+ "٩": "9",
1250
+ // Arabic-indic digit 9
1251
+ "۰": "0",
1252
+ // Eastern-Arabic digit 0
1253
+ "۱": "1",
1254
+ // Eastern-Arabic digit 1
1255
+ "۲": "2",
1256
+ // Eastern-Arabic digit 2
1257
+ "۳": "3",
1258
+ // Eastern-Arabic digit 3
1259
+ "۴": "4",
1260
+ // Eastern-Arabic digit 4
1261
+ "۵": "5",
1262
+ // Eastern-Arabic digit 5
1263
+ "۶": "6",
1264
+ // Eastern-Arabic digit 6
1265
+ "۷": "7",
1266
+ // Eastern-Arabic digit 7
1267
+ "۸": "8",
1268
+ // Eastern-Arabic digit 8
1269
+ "۹": "9"
1270
+ // Eastern-Arabic digit 9
1271
+ };
1272
+ function te(e) {
1273
+ return wr[e];
1274
+ }
1275
+ function w(e) {
1276
+ for (var r = "", t = _r(e.split("")), n; !(n = t()).done; ) {
1277
+ var d = n.value, i = te(d);
1278
+ i && (r += i);
1279
+ }
1280
+ return r;
1281
+ }
1282
+ function Rr(e, r) {
1283
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
1284
+ if (t) return (t = t.call(e)).next.bind(t);
1285
+ if (Array.isArray(e) || (t = Dr(e)) || r) {
1286
+ t && (e = t);
1287
+ var n = 0;
1288
+ return function() {
1289
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
1290
+ };
1291
+ }
1292
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1293
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1294
+ }
1295
+ function Dr(e, r) {
1296
+ if (e) {
1297
+ if (typeof e == "string") return pt(e, r);
1298
+ var t = Object.prototype.toString.call(e).slice(8, -1);
1299
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
1300
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return pt(e, r);
1301
+ }
1302
+ }
1303
+ function pt(e, r) {
1304
+ (r == null || r > e.length) && (r = e.length);
1305
+ for (var t = 0, n = new Array(r); t < r; t++)
1306
+ n[t] = e[t];
1307
+ return n;
1308
+ }
1309
+ function Ct(e) {
1310
+ for (var r = "", t = Rr(e.split("")), n; !(n = t()).done; ) {
1311
+ var d = n.value;
1312
+ r += Mr(d, r) || "";
1313
+ }
1314
+ return r;
1315
+ }
1316
+ function Mr(e, r, t) {
1317
+ return e === "+" ? r ? void 0 : "+" : te(e);
1318
+ }
1319
+ function Lr(e, r) {
1320
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
1321
+ if (t) return (t = t.call(e)).next.bind(t);
1322
+ if (Array.isArray(e) || (t = kr(e)) || r) {
1323
+ t && (e = t);
1324
+ var n = 0;
1325
+ return function() {
1326
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
1327
+ };
1328
+ }
1329
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1330
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1331
+ }
1332
+ function kr(e, r) {
1333
+ if (e) {
1334
+ if (typeof e == "string") return Pt(e, r);
1335
+ var t = Object.prototype.toString.call(e).slice(8, -1);
1336
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
1337
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Pt(e, r);
1338
+ }
1339
+ }
1340
+ function Pt(e, r) {
1341
+ (r == null || r > e.length) && (r = e.length);
1342
+ for (var t = 0, n = new Array(r); t < r; t++)
1343
+ n[t] = e[t];
1344
+ return n;
1345
+ }
1346
+ function ee(e, r) {
1347
+ var t = r.countries;
1348
+ r.defaultCountry;
1349
+ var n = r.metadata;
1350
+ n = new h(n);
1351
+ for (var d = Lr(t), i; !(i = d()).done; ) {
1352
+ var a = i.value;
1353
+ if (n.country(a), n.leadingDigits()) {
1354
+ if (e && e.search(n.leadingDigits()) === 0)
1355
+ return a;
1356
+ } else if (rt({
1357
+ phone: e,
1358
+ country: a
1359
+ }, void 0, n.metadata))
1360
+ return a;
1361
+ }
1362
+ }
1363
+ function re(e, r) {
1364
+ var t = r.nationalNumber, n = r.defaultCountry, d = r.metadata, i = d.getCountryCodesForCallingCode(e);
1365
+ if (i)
1366
+ return i.length === 1 ? i[0] : ee(t, {
1367
+ countries: i,
1368
+ defaultCountry: n,
1369
+ metadata: d.metadata
1370
+ });
1371
+ }
1372
+ var ne = "+", Gr = "[\\-\\.\\(\\)]?", xt = "([" + m + "]|" + Gr + ")", Br = "^\\" + ne + xt + "*[" + m + "]" + xt + "*$", jr = new RegExp(Br, "g"), Q = m, Ur = "[" + Q + "]+((\\-)*[" + Q + "])*", Hr = "a-zA-Z", Wr = "[" + Hr + "]+((\\-)*[" + Q + "])*", Vr = "^(" + Ur + "\\.)*" + Wr + "\\.?$", Kr = new RegExp(Vr, "g"), Et = "tel:", q = ";phone-context=", Xr = ";isub=";
1373
+ function Yr(e) {
1374
+ var r = e.indexOf(q);
1375
+ if (r < 0)
1376
+ return null;
1377
+ var t = r + q.length;
1378
+ if (t >= e.length)
1379
+ return "";
1380
+ var n = e.indexOf(";", t);
1381
+ return n >= 0 ? e.substring(t, n) : e.substring(t);
1382
+ }
1383
+ function Zr(e) {
1384
+ return e === null ? !0 : e.length === 0 ? !1 : jr.test(e) || Kr.test(e);
1385
+ }
1386
+ function Jr(e, r) {
1387
+ var t = r.extractFormattedPhoneNumber, n = Yr(e);
1388
+ if (!Zr(n))
1389
+ throw new P("NOT_A_NUMBER");
1390
+ var d;
1391
+ if (n === null)
1392
+ d = t(e) || "";
1393
+ else {
1394
+ d = "", n.charAt(0) === ne && (d += n);
1395
+ var i = e.indexOf(Et), a;
1396
+ i >= 0 ? a = i + Et.length : a = 0;
1397
+ var $ = e.indexOf(q);
1398
+ d += e.substring(a, $);
1399
+ }
1400
+ var o = d.indexOf(Xr);
1401
+ if (o > 0 && (d = d.substring(0, o)), d !== "")
1402
+ return d;
1403
+ }
1404
+ var Qr = 250, qr = new RegExp("[" + L + m + "]"), zr = new RegExp("[^" + m + "#]+$");
1405
+ function tn(e, r, t) {
1406
+ if (r = r || {}, t = new h(t), r.defaultCountry && !t.hasCountry(r.defaultCountry))
1407
+ throw r.v2 ? new P("INVALID_COUNTRY") : new Error("Unknown country: ".concat(r.defaultCountry));
1408
+ var n = rn(e, r.v2, r.extract), d = n.number, i = n.ext, a = n.error;
1409
+ if (!d) {
1410
+ if (r.v2)
1411
+ throw a === "TOO_SHORT" ? new P("TOO_SHORT") : new P("NOT_A_NUMBER");
1412
+ return {};
1413
+ }
1414
+ var $ = dn(d, r.defaultCountry, r.defaultCallingCode, t), o = $.country, u = $.nationalNumber, l = $.countryCallingCode, c = $.countryCallingCodeSource, s = $.carrierCode;
1415
+ if (!t.hasSelectedNumberingPlan()) {
1416
+ if (r.v2)
1417
+ throw new P("INVALID_COUNTRY");
1418
+ return {};
1419
+ }
1420
+ if (!u || u.length < nt) {
1421
+ if (r.v2)
1422
+ throw new P("TOO_SHORT");
1423
+ return {};
1424
+ }
1425
+ if (u.length > He) {
1426
+ if (r.v2)
1427
+ throw new P("TOO_LONG");
1428
+ return {};
1429
+ }
1430
+ if (r.v2) {
1431
+ var f = new Qt(l, u, t.metadata);
1432
+ return o && (f.country = o), s && (f.carrierCode = s), i && (f.ext = i), f.__countryCallingCodeSource = c, f;
1433
+ }
1434
+ var y = (r.extended ? t.hasSelectedNumberingPlan() : o) ? C(u, t.nationalNumberPattern()) : !1;
1435
+ return r.extended ? {
1436
+ country: o,
1437
+ countryCallingCode: l,
1438
+ carrierCode: s,
1439
+ valid: y,
1440
+ possible: y ? !0 : !!(r.extended === !0 && t.possibleLengths() && Wt(u, t)),
1441
+ phone: u,
1442
+ ext: i
1443
+ } : y ? nn(o, u, i) : {};
1444
+ }
1445
+ function en(e, r, t) {
1446
+ if (e) {
1447
+ if (e.length > Qr) {
1448
+ if (t)
1449
+ throw new P("TOO_LONG");
1450
+ return;
1451
+ }
1452
+ if (r === !1)
1453
+ return e;
1454
+ var n = e.search(qr);
1455
+ if (!(n < 0))
1456
+ return e.slice(n).replace(zr, "");
1457
+ }
1458
+ }
1459
+ function rn(e, r, t) {
1460
+ var n = Jr(e, {
1461
+ extractFormattedPhoneNumber: function(a) {
1462
+ return en(a, t, r);
1463
+ }
1464
+ });
1465
+ if (!n)
1466
+ return {};
1467
+ if (!or(n))
1468
+ return ur(n) ? {
1469
+ error: "TOO_SHORT"
1470
+ } : {};
1471
+ var d = Tr(n);
1472
+ return d.ext ? d : {
1473
+ number: n
1474
+ };
1475
+ }
1476
+ function nn(e, r, t) {
1477
+ var n = {
1478
+ country: e,
1479
+ phone: r
1480
+ };
1481
+ return t && (n.ext = t), n;
1482
+ }
1483
+ function dn(e, r, t, n) {
1484
+ var d = dt(Ct(e), r, t, n.metadata), i = d.countryCallingCodeSource, a = d.countryCallingCode, $ = d.number, o;
1485
+ if (a)
1486
+ n.selectNumberingPlan(a);
1487
+ else if ($ && (r || t))
1488
+ n.selectNumberingPlan(r, t), r && (o = r), a = t || et(r, n.metadata);
1489
+ else return {};
1490
+ if (!$)
1491
+ return {
1492
+ countryCallingCodeSource: i,
1493
+ countryCallingCode: a
1494
+ };
1495
+ var u = Y(Ct($), n), l = u.nationalNumber, c = u.carrierCode, s = re(a, {
1496
+ nationalNumber: l,
1497
+ defaultCountry: r,
1498
+ metadata: n
1499
+ });
1500
+ return s && (o = s, s === "001" || n.country(o)), {
1501
+ country: o,
1502
+ countryCallingCode: a,
1503
+ countryCallingCodeSource: i,
1504
+ nationalNumber: l,
1505
+ carrierCode: c
1506
+ };
1507
+ }
1508
+ function St(e, r) {
1509
+ var t = Object.keys(e);
1510
+ if (Object.getOwnPropertySymbols) {
1511
+ var n = Object.getOwnPropertySymbols(e);
1512
+ r && (n = n.filter(function(d) {
1513
+ return Object.getOwnPropertyDescriptor(e, d).enumerable;
1514
+ })), t.push.apply(t, n);
1515
+ }
1516
+ return t;
1517
+ }
1518
+ function Ft(e) {
1519
+ for (var r = 1; r < arguments.length; r++) {
1520
+ var t = arguments[r] != null ? arguments[r] : {};
1521
+ r % 2 ? St(Object(t), !0).forEach(function(n) {
1522
+ an(e, n, t[n]);
1523
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : St(Object(t)).forEach(function(n) {
1524
+ Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
1525
+ });
1526
+ }
1527
+ return e;
1528
+ }
1529
+ function an(e, r, t) {
1530
+ return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;
1531
+ }
1532
+ function $n(e, r, t) {
1533
+ return tn(e, Ft(Ft({}, r), {}, {
1534
+ v2: !0
1535
+ }), t);
1536
+ }
1537
+ function It(e, r) {
1538
+ var t = Object.keys(e);
1539
+ if (Object.getOwnPropertySymbols) {
1540
+ var n = Object.getOwnPropertySymbols(e);
1541
+ r && (n = n.filter(function(d) {
1542
+ return Object.getOwnPropertyDescriptor(e, d).enumerable;
1543
+ })), t.push.apply(t, n);
1544
+ }
1545
+ return t;
1546
+ }
1547
+ function on(e) {
1548
+ for (var r = 1; r < arguments.length; r++) {
1549
+ var t = arguments[r] != null ? arguments[r] : {};
1550
+ r % 2 ? It(Object(t), !0).forEach(function(n) {
1551
+ un(e, n, t[n]);
1552
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : It(Object(t)).forEach(function(n) {
1553
+ Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
1554
+ });
1555
+ }
1556
+ return e;
1557
+ }
1558
+ function un(e, r, t) {
1559
+ return r in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;
1560
+ }
1561
+ function ln(e, r) {
1562
+ return hn(e) || cn(e, r) || fn(e, r) || sn();
1563
+ }
1564
+ function sn() {
1565
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1566
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1567
+ }
1568
+ function fn(e, r) {
1569
+ if (e) {
1570
+ if (typeof e == "string") return At(e, r);
1571
+ var t = Object.prototype.toString.call(e).slice(8, -1);
1572
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
1573
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return At(e, r);
1574
+ }
1575
+ }
1576
+ function At(e, r) {
1577
+ (r == null || r > e.length) && (r = e.length);
1578
+ for (var t = 0, n = new Array(r); t < r; t++)
1579
+ n[t] = e[t];
1580
+ return n;
1581
+ }
1582
+ function cn(e, r) {
1583
+ var t = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
1584
+ if (t != null) {
1585
+ var n = [], d = !0, i = !1, a, $;
1586
+ try {
1587
+ for (t = t.call(e); !(d = (a = t.next()).done) && (n.push(a.value), !(r && n.length === r)); d = !0)
1588
+ ;
1589
+ } catch (o) {
1590
+ i = !0, $ = o;
1591
+ } finally {
1592
+ try {
1593
+ !d && t.return != null && t.return();
1594
+ } finally {
1595
+ if (i) throw $;
1596
+ }
1597
+ }
1598
+ return n;
1599
+ }
1600
+ }
1601
+ function hn(e) {
1602
+ if (Array.isArray(e)) return e;
1603
+ }
1604
+ function gn(e) {
1605
+ var r = Array.prototype.slice.call(e), t = ln(r, 4), n = t[0], d = t[1], i = t[2], a = t[3], $, o, u;
1606
+ if (typeof n == "string")
1607
+ $ = n;
1608
+ else throw new TypeError("A text for parsing must be a string.");
1609
+ if (!d || typeof d == "string")
1610
+ a ? (o = i, u = a) : (o = void 0, u = i), d && (o = on({
1611
+ defaultCountry: d
1612
+ }, o));
1613
+ else if (x(d))
1614
+ i ? (o = d, u = i) : u = d;
1615
+ else throw new Error("Invalid second argument: ".concat(d));
1616
+ return {
1617
+ text: $,
1618
+ options: o,
1619
+ metadata: u
1620
+ };
1621
+ }
1622
+ function mn() {
1623
+ var e = gn(arguments), r = e.text, t = e.options, n = e.metadata;
1624
+ return $n(r, t, n);
1625
+ }
1626
+ function yn(e, r) {
1627
+ if (!(e instanceof r))
1628
+ throw new TypeError("Cannot call a class as a function");
1629
+ }
1630
+ function vn(e, r) {
1631
+ for (var t = 0; t < r.length; t++) {
1632
+ var n = r[t];
1633
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
1634
+ }
1635
+ }
1636
+ function Nn(e, r, t) {
1637
+ return r && vn(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
1638
+ }
1639
+ var bn = /* @__PURE__ */ function() {
1640
+ function e(r) {
1641
+ var t = r.onCountryChange, n = r.onCallingCodeChange;
1642
+ yn(this, e), this.onCountryChange = t, this.onCallingCodeChange = n;
1643
+ }
1644
+ return Nn(e, [{
1645
+ key: "reset",
1646
+ value: function(t) {
1647
+ var n = t.country, d = t.callingCode;
1648
+ this.international = !1, this.missingPlus = !1, this.IDDPrefix = void 0, this.callingCode = void 0, this.digits = "", this.resetNationalSignificantNumber(), this.initCountryAndCallingCode(n, d);
1649
+ }
1650
+ }, {
1651
+ key: "resetNationalSignificantNumber",
1652
+ value: function() {
1653
+ this.nationalSignificantNumber = this.getNationalDigits(), this.nationalSignificantNumberMatchesInput = !0, this.nationalPrefix = void 0, this.carrierCode = void 0, this.complexPrefixBeforeNationalSignificantNumber = void 0;
1654
+ }
1655
+ }, {
1656
+ key: "update",
1657
+ value: function(t) {
1658
+ for (var n = 0, d = Object.keys(t); n < d.length; n++) {
1659
+ var i = d[n];
1660
+ this[i] = t[i];
1661
+ }
1662
+ }
1663
+ }, {
1664
+ key: "initCountryAndCallingCode",
1665
+ value: function(t, n) {
1666
+ this.setCountry(t), this.setCallingCode(n);
1667
+ }
1668
+ }, {
1669
+ key: "setCountry",
1670
+ value: function(t) {
1671
+ this.country = t, this.onCountryChange(t);
1672
+ }
1673
+ }, {
1674
+ key: "setCallingCode",
1675
+ value: function(t) {
1676
+ this.callingCode = t, this.onCallingCodeChange(t, this.country);
1677
+ }
1678
+ }, {
1679
+ key: "startInternationalNumber",
1680
+ value: function(t, n) {
1681
+ this.international = !0, this.initCountryAndCallingCode(t, n);
1682
+ }
1683
+ }, {
1684
+ key: "appendDigits",
1685
+ value: function(t) {
1686
+ this.digits += t;
1687
+ }
1688
+ }, {
1689
+ key: "appendNationalSignificantNumberDigits",
1690
+ value: function(t) {
1691
+ this.nationalSignificantNumber += t;
1692
+ }
1693
+ /**
1694
+ * Returns the part of `this.digits` that corresponds to the national number.
1695
+ * Basically, all digits that have been input by the user, except for the
1696
+ * international prefix and the country calling code part
1697
+ * (if the number is an international one).
1698
+ * @return {string}
1699
+ */
1700
+ }, {
1701
+ key: "getNationalDigits",
1702
+ value: function() {
1703
+ return this.international ? this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0)) : this.digits;
1704
+ }
1705
+ }, {
1706
+ key: "getDigitsWithoutInternationalPrefix",
1707
+ value: function() {
1708
+ return this.international && this.IDDPrefix ? this.digits.slice(this.IDDPrefix.length) : this.digits;
1709
+ }
1710
+ }]), e;
1711
+ }();
1712
+ function pn(e, r) {
1713
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
1714
+ if (t) return (t = t.call(e)).next.bind(t);
1715
+ if (Array.isArray(e) || (t = Cn(e)) || r) {
1716
+ t && (e = t);
1717
+ var n = 0;
1718
+ return function() {
1719
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
1720
+ };
1721
+ }
1722
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1723
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1724
+ }
1725
+ function Cn(e, r) {
1726
+ if (e) {
1727
+ if (typeof e == "string") return Tt(e, r);
1728
+ var t = Object.prototype.toString.call(e).slice(8, -1);
1729
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
1730
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Tt(e, r);
1731
+ }
1732
+ }
1733
+ function Tt(e, r) {
1734
+ (r == null || r > e.length) && (r = e.length);
1735
+ for (var t = 0, n = new Array(r); t < r; t++)
1736
+ n[t] = e[t];
1737
+ return n;
1738
+ }
1739
+ var N = "x", U = new RegExp(N);
1740
+ function _(e, r) {
1741
+ if (r < 1)
1742
+ return "";
1743
+ for (var t = ""; r > 1; )
1744
+ r & 1 && (t += e), r >>= 1, e += e;
1745
+ return t + e;
1746
+ }
1747
+ function _t(e, r) {
1748
+ return e[r] === ")" && r++, Pn(e.slice(0, r));
1749
+ }
1750
+ function Pn(e) {
1751
+ for (var r = [], t = 0; t < e.length; )
1752
+ e[t] === "(" ? r.push(t) : e[t] === ")" && r.pop(), t++;
1753
+ var n = 0, d = "";
1754
+ r.push(e.length);
1755
+ for (var i = 0, a = r; i < a.length; i++) {
1756
+ var $ = a[i];
1757
+ d += e.slice(n, $), n = $ + 1;
1758
+ }
1759
+ return d;
1760
+ }
1761
+ function xn(e, r, t) {
1762
+ for (var n = pn(t.split("")), d; !(d = n()).done; ) {
1763
+ var i = d.value;
1764
+ if (e.slice(r + 1).search(U) < 0)
1765
+ return;
1766
+ r = e.search(U), e = e.replace(U, i);
1767
+ }
1768
+ return [e, r];
1769
+ }
1770
+ function En(e, r, t) {
1771
+ var n = t.metadata, d = t.shouldTryNationalPrefixFormattingRule, i = t.getSeparatorAfterNationalPrefix, a = new RegExp("^(?:".concat(r.pattern(), ")$"));
1772
+ if (a.test(e.nationalSignificantNumber))
1773
+ return Fn(e, r, {
1774
+ metadata: n,
1775
+ shouldTryNationalPrefixFormattingRule: d,
1776
+ getSeparatorAfterNationalPrefix: i
1777
+ });
1778
+ }
1779
+ function Sn(e, r) {
1780
+ return M(e, r) === "IS_POSSIBLE";
1781
+ }
1782
+ function Fn(e, r, t) {
1783
+ var n = t.metadata, d = t.shouldTryNationalPrefixFormattingRule, i = t.getSeparatorAfterNationalPrefix;
1784
+ if (e.nationalSignificantNumber, e.international, e.nationalPrefix, e.carrierCode, d(r)) {
1785
+ var a = Ot(e, r, {
1786
+ useNationalPrefixFormattingRule: !0,
1787
+ getSeparatorAfterNationalPrefix: i,
1788
+ metadata: n
1789
+ });
1790
+ if (a)
1791
+ return a;
1792
+ }
1793
+ return Ot(e, r, {
1794
+ useNationalPrefixFormattingRule: !1,
1795
+ getSeparatorAfterNationalPrefix: i,
1796
+ metadata: n
1797
+ });
1798
+ }
1799
+ function Ot(e, r, t) {
1800
+ var n = t.metadata, d = t.useNationalPrefixFormattingRule, i = t.getSeparatorAfterNationalPrefix, a = Zt(e.nationalSignificantNumber, r, {
1801
+ carrierCode: e.carrierCode,
1802
+ useInternationalFormat: e.international,
1803
+ withNationalPrefix: d,
1804
+ metadata: n
1805
+ });
1806
+ if (d || (e.nationalPrefix ? a = e.nationalPrefix + i(r) + a : e.complexPrefixBeforeNationalSignificantNumber && (a = e.complexPrefixBeforeNationalSignificantNumber + " " + a)), In(a, e))
1807
+ return a;
1808
+ }
1809
+ function In(e, r) {
1810
+ return w(e) === r.getNationalDigits();
1811
+ }
1812
+ function An(e, r) {
1813
+ if (!(e instanceof r))
1814
+ throw new TypeError("Cannot call a class as a function");
1815
+ }
1816
+ function Tn(e, r) {
1817
+ for (var t = 0; t < r.length; t++) {
1818
+ var n = r[t];
1819
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
1820
+ }
1821
+ }
1822
+ function _n(e, r, t) {
1823
+ return r && Tn(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
1824
+ }
1825
+ var On = /* @__PURE__ */ function() {
1826
+ function e() {
1827
+ An(this, e);
1828
+ }
1829
+ return _n(e, [{
1830
+ key: "parse",
1831
+ value: function(t) {
1832
+ if (this.context = [{
1833
+ or: !0,
1834
+ instructions: []
1835
+ }], this.parsePattern(t), this.context.length !== 1)
1836
+ throw new Error("Non-finalized contexts left when pattern parse ended");
1837
+ var n = this.context[0], d = n.branches, i = n.instructions;
1838
+ if (d)
1839
+ return {
1840
+ op: "|",
1841
+ args: d.concat([H(i)])
1842
+ };
1843
+ if (i.length === 0)
1844
+ throw new Error("Pattern is required");
1845
+ return i.length === 1 ? i[0] : i;
1846
+ }
1847
+ }, {
1848
+ key: "startContext",
1849
+ value: function(t) {
1850
+ this.context.push(t);
1851
+ }
1852
+ }, {
1853
+ key: "endContext",
1854
+ value: function() {
1855
+ this.context.pop();
1856
+ }
1857
+ }, {
1858
+ key: "getContext",
1859
+ value: function() {
1860
+ return this.context[this.context.length - 1];
1861
+ }
1862
+ }, {
1863
+ key: "parsePattern",
1864
+ value: function(t) {
1865
+ if (!t)
1866
+ throw new Error("Pattern is required");
1867
+ var n = t.match(Dn);
1868
+ if (!n) {
1869
+ if (Rn.test(t))
1870
+ throw new Error("Illegal characters found in a pattern: ".concat(t));
1871
+ this.getContext().instructions = this.getContext().instructions.concat(t.split(""));
1872
+ return;
1873
+ }
1874
+ var d = n[1], i = t.slice(0, n.index), a = t.slice(n.index + d.length);
1875
+ switch (d) {
1876
+ case "(?:":
1877
+ i && this.parsePattern(i), this.startContext({
1878
+ or: !0,
1879
+ instructions: [],
1880
+ branches: []
1881
+ });
1882
+ break;
1883
+ case ")":
1884
+ if (!this.getContext().or)
1885
+ throw new Error('")" operator must be preceded by "(?:" operator');
1886
+ if (i && this.parsePattern(i), this.getContext().instructions.length === 0)
1887
+ throw new Error('No instructions found after "|" operator in an "or" group');
1888
+ var $ = this.getContext(), o = $.branches;
1889
+ o.push(H(this.getContext().instructions)), this.endContext(), this.getContext().instructions.push({
1890
+ op: "|",
1891
+ args: o
1892
+ });
1893
+ break;
1894
+ case "|":
1895
+ if (!this.getContext().or)
1896
+ throw new Error('"|" operator can only be used inside "or" groups');
1897
+ if (i && this.parsePattern(i), !this.getContext().branches)
1898
+ if (this.context.length === 1)
1899
+ this.getContext().branches = [];
1900
+ else
1901
+ throw new Error('"branches" not found in an "or" group context');
1902
+ this.getContext().branches.push(H(this.getContext().instructions)), this.getContext().instructions = [];
1903
+ break;
1904
+ case "[":
1905
+ i && this.parsePattern(i), this.startContext({
1906
+ oneOfSet: !0
1907
+ });
1908
+ break;
1909
+ case "]":
1910
+ if (!this.getContext().oneOfSet)
1911
+ throw new Error('"]" operator must be preceded by "[" operator');
1912
+ this.endContext(), this.getContext().instructions.push({
1913
+ op: "[]",
1914
+ args: wn(i)
1915
+ });
1916
+ break;
1917
+ /* istanbul ignore next */
1918
+ default:
1919
+ throw new Error("Unknown operator: ".concat(d));
1920
+ }
1921
+ a && this.parsePattern(a);
1922
+ }
1923
+ }]), e;
1924
+ }();
1925
+ function wn(e) {
1926
+ for (var r = [], t = 0; t < e.length; ) {
1927
+ if (e[t] === "-") {
1928
+ if (t === 0 || t === e.length - 1)
1929
+ throw new Error("Couldn't parse a one-of set pattern: ".concat(e));
1930
+ for (var n = e[t - 1].charCodeAt(0) + 1, d = e[t + 1].charCodeAt(0) - 1, i = n; i <= d; )
1931
+ r.push(String.fromCharCode(i)), i++;
1932
+ } else
1933
+ r.push(e[t]);
1934
+ t++;
1935
+ }
1936
+ return r;
1937
+ }
1938
+ var Rn = /[\(\)\[\]\?\:\|]/, Dn = new RegExp(
1939
+ // any of:
1940
+ "(\\||\\(\\?\\:|\\)|\\[|\\])"
1941
+ );
1942
+ function H(e) {
1943
+ return e.length === 1 ? e[0] : e;
1944
+ }
1945
+ function wt(e, r) {
1946
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
1947
+ if (t) return (t = t.call(e)).next.bind(t);
1948
+ if (Array.isArray(e) || (t = Mn(e)) || r) {
1949
+ t && (e = t);
1950
+ var n = 0;
1951
+ return function() {
1952
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
1953
+ };
1954
+ }
1955
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1956
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1957
+ }
1958
+ function Mn(e, r) {
1959
+ if (e) {
1960
+ if (typeof e == "string") return Rt(e, r);
1961
+ var t = Object.prototype.toString.call(e).slice(8, -1);
1962
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
1963
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Rt(e, r);
1964
+ }
1965
+ }
1966
+ function Rt(e, r) {
1967
+ (r == null || r > e.length) && (r = e.length);
1968
+ for (var t = 0, n = new Array(r); t < r; t++)
1969
+ n[t] = e[t];
1970
+ return n;
1971
+ }
1972
+ function Ln(e, r) {
1973
+ if (!(e instanceof r))
1974
+ throw new TypeError("Cannot call a class as a function");
1975
+ }
1976
+ function kn(e, r) {
1977
+ for (var t = 0; t < r.length; t++) {
1978
+ var n = r[t];
1979
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
1980
+ }
1981
+ }
1982
+ function Gn(e, r, t) {
1983
+ return r && kn(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
1984
+ }
1985
+ var Bn = /* @__PURE__ */ function() {
1986
+ function e(r) {
1987
+ Ln(this, e), this.matchTree = new On().parse(r);
1988
+ }
1989
+ return Gn(e, [{
1990
+ key: "match",
1991
+ value: function(t) {
1992
+ var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, d = n.allowOverflow;
1993
+ if (!t)
1994
+ throw new Error("String is required");
1995
+ var i = z(t.split(""), this.matchTree, !0);
1996
+ if (i && i.match && delete i.matchedChars, !(i && i.overflow && !d))
1997
+ return i;
1998
+ }
1999
+ }]), e;
2000
+ }();
2001
+ function z(e, r, t) {
2002
+ if (typeof r == "string") {
2003
+ var n = e.join("");
2004
+ return r.indexOf(n) === 0 ? e.length === r.length ? {
2005
+ match: !0,
2006
+ matchedChars: e
2007
+ } : {
2008
+ partialMatch: !0
2009
+ // matchedChars: characters
2010
+ } : n.indexOf(r) === 0 ? t && e.length > r.length ? {
2011
+ overflow: !0
2012
+ } : {
2013
+ match: !0,
2014
+ matchedChars: e.slice(0, r.length)
2015
+ } : void 0;
2016
+ }
2017
+ if (Array.isArray(r)) {
2018
+ for (var d = e.slice(), i = 0; i < r.length; ) {
2019
+ var a = r[i], $ = z(d, a, t && i === r.length - 1);
2020
+ if ($) {
2021
+ if ($.overflow)
2022
+ return $;
2023
+ if ($.match) {
2024
+ if (d = d.slice($.matchedChars.length), d.length === 0)
2025
+ return i === r.length - 1 ? {
2026
+ match: !0,
2027
+ matchedChars: e
2028
+ } : {
2029
+ partialMatch: !0
2030
+ // matchedChars: characters
2031
+ };
2032
+ } else {
2033
+ if ($.partialMatch)
2034
+ return {
2035
+ partialMatch: !0
2036
+ // matchedChars: characters
2037
+ };
2038
+ throw new Error(`Unsupported match result:
2039
+ `.concat(JSON.stringify($, null, 2)));
2040
+ }
2041
+ } else return;
2042
+ i++;
2043
+ }
2044
+ return t ? {
2045
+ overflow: !0
2046
+ } : {
2047
+ match: !0,
2048
+ matchedChars: e.slice(0, e.length - d.length)
2049
+ };
2050
+ }
2051
+ switch (r.op) {
2052
+ case "|":
2053
+ for (var o, u = wt(r.args), l; !(l = u()).done; ) {
2054
+ var c = l.value, s = z(e, c, t);
2055
+ if (s) {
2056
+ if (s.overflow)
2057
+ return s;
2058
+ if (s.match)
2059
+ return {
2060
+ match: !0,
2061
+ matchedChars: s.matchedChars
2062
+ };
2063
+ if (s.partialMatch)
2064
+ o = !0;
2065
+ else
2066
+ throw new Error(`Unsupported match result:
2067
+ `.concat(JSON.stringify(s, null, 2)));
2068
+ }
2069
+ }
2070
+ return o ? {
2071
+ partialMatch: !0
2072
+ // matchedChars: ...
2073
+ } : void 0;
2074
+ case "[]":
2075
+ for (var f = wt(r.args), y; !(y = f()).done; ) {
2076
+ var p = y.value;
2077
+ if (e[0] === p)
2078
+ return e.length === 1 ? {
2079
+ match: !0,
2080
+ matchedChars: e
2081
+ } : t ? {
2082
+ overflow: !0
2083
+ } : {
2084
+ match: !0,
2085
+ matchedChars: [p]
2086
+ };
2087
+ }
2088
+ return;
2089
+ /* istanbul ignore next */
2090
+ default:
2091
+ throw new Error("Unsupported instruction tree: ".concat(r));
2092
+ }
2093
+ }
2094
+ function Dt(e, r) {
2095
+ var t = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
2096
+ if (t) return (t = t.call(e)).next.bind(t);
2097
+ if (Array.isArray(e) || (t = jn(e)) || r) {
2098
+ t && (e = t);
2099
+ var n = 0;
2100
+ return function() {
2101
+ return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
2102
+ };
2103
+ }
2104
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
2105
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2106
+ }
2107
+ function jn(e, r) {
2108
+ if (e) {
2109
+ if (typeof e == "string") return Mt(e, r);
2110
+ var t = Object.prototype.toString.call(e).slice(8, -1);
2111
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
2112
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Mt(e, r);
2113
+ }
2114
+ }
2115
+ function Mt(e, r) {
2116
+ (r == null || r > e.length) && (r = e.length);
2117
+ for (var t = 0, n = new Array(r); t < r; t++)
2118
+ n[t] = e[t];
2119
+ return n;
2120
+ }
2121
+ function Un(e, r) {
2122
+ if (!(e instanceof r))
2123
+ throw new TypeError("Cannot call a class as a function");
2124
+ }
2125
+ function Hn(e, r) {
2126
+ for (var t = 0; t < r.length; t++) {
2127
+ var n = r[t];
2128
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
2129
+ }
2130
+ }
2131
+ function Wn(e, r, t) {
2132
+ return r && Hn(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
2133
+ }
2134
+ var tt = "9", Vn = 15, Kn = _(tt, Vn), Xn = /[- ]/, Yn = function() {
2135
+ return /\[([^\[\]])*\]/g;
2136
+ }, Zn = function() {
2137
+ return /\d(?=[^,}][^,}])/g;
2138
+ }, Jn = new RegExp("[" + b + "]*\\$1[" + b + "]*(\\$\\d[" + b + "]*)*$"), Lt = 3, Qn = /* @__PURE__ */ function() {
2139
+ function e(r) {
2140
+ r.state;
2141
+ var t = r.metadata;
2142
+ Un(this, e), this.metadata = t, this.resetFormat();
2143
+ }
2144
+ return Wn(e, [{
2145
+ key: "resetFormat",
2146
+ value: function() {
2147
+ this.chosenFormat = void 0, this.template = void 0, this.nationalNumberTemplate = void 0, this.populatedNationalNumberTemplate = void 0, this.populatedNationalNumberTemplatePosition = -1;
2148
+ }
2149
+ }, {
2150
+ key: "reset",
2151
+ value: function(t, n) {
2152
+ this.resetFormat(), t ? (this.isNANP = t.callingCode() === "1", this.matchingFormats = t.formats(), n.nationalSignificantNumber && this.narrowDownMatchingFormats(n)) : (this.isNANP = void 0, this.matchingFormats = []);
2153
+ }
2154
+ /**
2155
+ * Formats an updated phone number.
2156
+ * @param {string} nextDigits — Additional phone number digits.
2157
+ * @param {object} state — `AsYouType` state.
2158
+ * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.
2159
+ */
2160
+ }, {
2161
+ key: "format",
2162
+ value: function(t, n) {
2163
+ var d = this;
2164
+ if (Sn(n.nationalSignificantNumber, this.metadata))
2165
+ for (var i = Dt(this.matchingFormats), a; !(a = i()).done; ) {
2166
+ var $ = a.value, o = En(n, $, {
2167
+ metadata: this.metadata,
2168
+ shouldTryNationalPrefixFormattingRule: function(l) {
2169
+ return d.shouldTryNationalPrefixFormattingRule(l, {
2170
+ international: n.international,
2171
+ nationalPrefix: n.nationalPrefix
2172
+ });
2173
+ },
2174
+ getSeparatorAfterNationalPrefix: function(l) {
2175
+ return d.getSeparatorAfterNationalPrefix(l);
2176
+ }
2177
+ });
2178
+ if (o)
2179
+ return this.resetFormat(), this.chosenFormat = $, this.setNationalNumberTemplate(o.replace(/\d/g, N), n), this.populatedNationalNumberTemplate = o, this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(N), o;
2180
+ }
2181
+ return this.formatNationalNumberWithNextDigits(t, n);
2182
+ }
2183
+ // Formats the next phone number digits.
2184
+ }, {
2185
+ key: "formatNationalNumberWithNextDigits",
2186
+ value: function(t, n) {
2187
+ var d = this.chosenFormat, i = this.chooseFormat(n);
2188
+ if (i)
2189
+ return i === d ? this.formatNextNationalNumberDigits(t) : this.formatNextNationalNumberDigits(n.getNationalDigits());
2190
+ }
2191
+ }, {
2192
+ key: "narrowDownMatchingFormats",
2193
+ value: function(t) {
2194
+ var n = this, d = t.nationalSignificantNumber, i = t.nationalPrefix, a = t.international, $ = d, o = $.length - Lt;
2195
+ o < 0 && (o = 0), this.matchingFormats = this.matchingFormats.filter(function(u) {
2196
+ return n.formatSuits(u, a, i) && n.formatMatches(u, $, o);
2197
+ }), this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1 && this.resetFormat();
2198
+ }
2199
+ }, {
2200
+ key: "formatSuits",
2201
+ value: function(t, n, d) {
2202
+ return !(d && !t.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&
2203
+ !t.nationalPrefixIsOptionalWhenFormattingInNationalFormat() || !n && !d && t.nationalPrefixIsMandatoryWhenFormattingInNationalFormat());
2204
+ }
2205
+ }, {
2206
+ key: "formatMatches",
2207
+ value: function(t, n, d) {
2208
+ var i = t.leadingDigitsPatterns().length;
2209
+ if (i === 0)
2210
+ return !0;
2211
+ d = Math.min(d, i - 1);
2212
+ var a = t.leadingDigitsPatterns()[d];
2213
+ if (n.length < Lt)
2214
+ try {
2215
+ return new Bn(a).match(n, {
2216
+ allowOverflow: !0
2217
+ }) !== void 0;
2218
+ } catch ($) {
2219
+ return console.error($), !0;
2220
+ }
2221
+ return new RegExp("^(".concat(a, ")")).test(n);
2222
+ }
2223
+ }, {
2224
+ key: "getFormatFormat",
2225
+ value: function(t, n) {
2226
+ return n ? t.internationalFormat() : t.format();
2227
+ }
2228
+ }, {
2229
+ key: "chooseFormat",
2230
+ value: function(t) {
2231
+ for (var n = this, d = function() {
2232
+ var u = a.value;
2233
+ return n.chosenFormat === u ? "break" : Jn.test(n.getFormatFormat(u, t.international)) ? n.createTemplateForFormat(u, t) ? (n.chosenFormat = u, "break") : (n.matchingFormats = n.matchingFormats.filter(function(l) {
2234
+ return l !== u;
2235
+ }), "continue") : "continue";
2236
+ }, i = Dt(this.matchingFormats.slice()), a; !(a = i()).done; ) {
2237
+ var $ = d();
2238
+ if ($ === "break") break;
2239
+ }
2240
+ return this.chosenFormat || this.resetFormat(), this.chosenFormat;
2241
+ }
2242
+ }, {
2243
+ key: "createTemplateForFormat",
2244
+ value: function(t, n) {
2245
+ if (!(t.pattern().indexOf("|") >= 0)) {
2246
+ var d = this.getTemplateForFormat(t, n);
2247
+ if (d)
2248
+ return this.setNationalNumberTemplate(d, n), !0;
2249
+ }
2250
+ }
2251
+ }, {
2252
+ key: "getSeparatorAfterNationalPrefix",
2253
+ value: function(t) {
2254
+ return this.isNANP || t && t.nationalPrefixFormattingRule() && Xn.test(t.nationalPrefixFormattingRule()) ? " " : "";
2255
+ }
2256
+ }, {
2257
+ key: "getInternationalPrefixBeforeCountryCallingCode",
2258
+ value: function(t, n) {
2259
+ var d = t.IDDPrefix, i = t.missingPlus;
2260
+ return d ? n && n.spacing === !1 ? d : d + " " : i ? "" : "+";
2261
+ }
2262
+ }, {
2263
+ key: "getTemplate",
2264
+ value: function(t) {
2265
+ if (this.template) {
2266
+ for (var n = -1, d = 0, i = t.international ? this.getInternationalPrefixBeforeCountryCallingCode(t, {
2267
+ spacing: !1
2268
+ }) : ""; d < i.length + t.getDigitsWithoutInternationalPrefix().length; )
2269
+ n = this.template.indexOf(N, n + 1), d++;
2270
+ return _t(this.template, n + 1);
2271
+ }
2272
+ }
2273
+ }, {
2274
+ key: "setNationalNumberTemplate",
2275
+ value: function(t, n) {
2276
+ this.nationalNumberTemplate = t, this.populatedNationalNumberTemplate = t, this.populatedNationalNumberTemplatePosition = -1, n.international ? this.template = this.getInternationalPrefixBeforeCountryCallingCode(n).replace(/[\d\+]/g, N) + _(N, n.callingCode.length) + " " + t : this.template = t;
2277
+ }
2278
+ /**
2279
+ * Generates formatting template for a national phone number,
2280
+ * optionally containing a national prefix, for a format.
2281
+ * @param {Format} format
2282
+ * @param {string} nationalPrefix
2283
+ * @return {string}
2284
+ */
2285
+ }, {
2286
+ key: "getTemplateForFormat",
2287
+ value: function(t, n) {
2288
+ var d = n.nationalSignificantNumber, i = n.international, a = n.nationalPrefix, $ = n.complexPrefixBeforeNationalSignificantNumber, o = t.pattern();
2289
+ o = o.replace(Yn(), "\\d").replace(Zn(), "\\d");
2290
+ var u = Kn.match(o)[0];
2291
+ if (!(d.length > u.length)) {
2292
+ var l = new RegExp("^" + o + "$"), c = d.replace(/\d/g, tt);
2293
+ l.test(c) && (u = c);
2294
+ var s = this.getFormatFormat(t, i), f;
2295
+ if (this.shouldTryNationalPrefixFormattingRule(t, {
2296
+ international: i,
2297
+ nationalPrefix: a
2298
+ })) {
2299
+ var y = s.replace(Yt, t.nationalPrefixFormattingRule());
2300
+ if (w(t.nationalPrefixFormattingRule()) === (a || "") + w("$1") && (s = y, f = !0, a))
2301
+ for (var p = a.length; p > 0; )
2302
+ s = s.replace(/\d/, N), p--;
2303
+ }
2304
+ var v = u.replace(new RegExp(o), s).replace(new RegExp(tt, "g"), N);
2305
+ return f || ($ ? v = _(N, $.length) + " " + v : a && (v = _(N, a.length) + this.getSeparatorAfterNationalPrefix(t) + v)), i && (v = Xt(v)), v;
2306
+ }
2307
+ }
2308
+ }, {
2309
+ key: "formatNextNationalNumberDigits",
2310
+ value: function(t) {
2311
+ var n = xn(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, t);
2312
+ if (!n) {
2313
+ this.resetFormat();
2314
+ return;
2315
+ }
2316
+ return this.populatedNationalNumberTemplate = n[0], this.populatedNationalNumberTemplatePosition = n[1], _t(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1);
2317
+ }
2318
+ }, {
2319
+ key: "shouldTryNationalPrefixFormattingRule",
2320
+ value: function(t, n) {
2321
+ var d = n.international, i = n.nationalPrefix;
2322
+ if (t.nationalPrefixFormattingRule()) {
2323
+ var a = t.usesNationalPrefix();
2324
+ if (a && i || !a && !d)
2325
+ return !0;
2326
+ }
2327
+ }
2328
+ }]), e;
2329
+ }();
2330
+ function de(e, r) {
2331
+ return ed(e) || td(e, r) || zn(e, r) || qn();
2332
+ }
2333
+ function qn() {
2334
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2335
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2336
+ }
2337
+ function zn(e, r) {
2338
+ if (e) {
2339
+ if (typeof e == "string") return kt(e, r);
2340
+ var t = Object.prototype.toString.call(e).slice(8, -1);
2341
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
2342
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return kt(e, r);
2343
+ }
2344
+ }
2345
+ function kt(e, r) {
2346
+ (r == null || r > e.length) && (r = e.length);
2347
+ for (var t = 0, n = new Array(r); t < r; t++)
2348
+ n[t] = e[t];
2349
+ return n;
2350
+ }
2351
+ function td(e, r) {
2352
+ var t = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
2353
+ if (t != null) {
2354
+ var n = [], d = !0, i = !1, a, $;
2355
+ try {
2356
+ for (t = t.call(e); !(d = (a = t.next()).done) && (n.push(a.value), !(r && n.length === r)); d = !0)
2357
+ ;
2358
+ } catch (o) {
2359
+ i = !0, $ = o;
2360
+ } finally {
2361
+ try {
2362
+ !d && t.return != null && t.return();
2363
+ } finally {
2364
+ if (i) throw $;
2365
+ }
2366
+ }
2367
+ return n;
2368
+ }
2369
+ }
2370
+ function ed(e) {
2371
+ if (Array.isArray(e)) return e;
2372
+ }
2373
+ function rd(e, r) {
2374
+ if (!(e instanceof r))
2375
+ throw new TypeError("Cannot call a class as a function");
2376
+ }
2377
+ function nd(e, r) {
2378
+ for (var t = 0; t < r.length; t++) {
2379
+ var n = r[t];
2380
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
2381
+ }
2382
+ }
2383
+ function dd(e, r, t) {
2384
+ return r && nd(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
2385
+ }
2386
+ var id = "[" + b + m + "]+", ad = new RegExp("^" + id + "$", "i"), $d = "(?:[" + L + "][" + b + m + "]*|[" + b + m + "]+)", od = new RegExp("[^" + b + m + "]+.*$"), ud = /[^\d\[\]]/, ld = /* @__PURE__ */ function() {
2387
+ function e(r) {
2388
+ var t = r.defaultCountry, n = r.defaultCallingCode, d = r.metadata, i = r.onNationalSignificantNumberChange;
2389
+ rd(this, e), this.defaultCountry = t, this.defaultCallingCode = n, this.metadata = d, this.onNationalSignificantNumberChange = i;
2390
+ }
2391
+ return dd(e, [{
2392
+ key: "input",
2393
+ value: function(t, n) {
2394
+ var d = cd(t), i = de(d, 2), a = i[0], $ = i[1], o = w(a), u;
2395
+ return $ && (n.digits || (n.startInternationalNumber(), o || (u = !0))), o && this.inputDigits(o, n), {
2396
+ digits: o,
2397
+ justLeadingPlus: u
2398
+ };
2399
+ }
2400
+ /**
2401
+ * Inputs "next" phone number digits.
2402
+ * @param {string} digits
2403
+ * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means "don't format the national phone number at this stage".
2404
+ */
2405
+ }, {
2406
+ key: "inputDigits",
2407
+ value: function(t, n) {
2408
+ var d = n.digits, i = d.length < 3 && d.length + t.length >= 3;
2409
+ if (n.appendDigits(t), i && this.extractIddPrefix(n), this.isWaitingForCountryCallingCode(n)) {
2410
+ if (!this.extractCountryCallingCode(n))
2411
+ return;
2412
+ } else
2413
+ n.appendNationalSignificantNumberDigits(t);
2414
+ n.international || this.hasExtractedNationalSignificantNumber || this.extractNationalSignificantNumber(n.getNationalDigits(), function(a) {
2415
+ return n.update(a);
2416
+ });
2417
+ }
2418
+ }, {
2419
+ key: "isWaitingForCountryCallingCode",
2420
+ value: function(t) {
2421
+ var n = t.international, d = t.callingCode;
2422
+ return n && !d;
2423
+ }
2424
+ // Extracts a country calling code from a number
2425
+ // being entered in internatonal format.
2426
+ }, {
2427
+ key: "extractCountryCallingCode",
2428
+ value: function(t) {
2429
+ var n = dt("+" + t.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata), d = n.countryCallingCode, i = n.number;
2430
+ if (d)
2431
+ return t.setCallingCode(d), t.update({
2432
+ nationalSignificantNumber: i
2433
+ }), !0;
2434
+ }
2435
+ }, {
2436
+ key: "reset",
2437
+ value: function(t) {
2438
+ if (t) {
2439
+ this.hasSelectedNumberingPlan = !0;
2440
+ var n = t._nationalPrefixForParsing();
2441
+ this.couldPossiblyExtractAnotherNationalSignificantNumber = n && ud.test(n);
2442
+ } else
2443
+ this.hasSelectedNumberingPlan = void 0, this.couldPossiblyExtractAnotherNationalSignificantNumber = void 0;
2444
+ }
2445
+ /**
2446
+ * Extracts a national (significant) number from user input.
2447
+ * Google's library is different in that it only applies `national_prefix_for_parsing`
2448
+ * and doesn't apply `national_prefix_transform_rule` after that.
2449
+ * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539
2450
+ * @return {boolean} [extracted]
2451
+ */
2452
+ }, {
2453
+ key: "extractNationalSignificantNumber",
2454
+ value: function(t, n) {
2455
+ if (this.hasSelectedNumberingPlan) {
2456
+ var d = X(t, this.metadata), i = d.nationalPrefix, a = d.nationalNumber, $ = d.carrierCode;
2457
+ if (a !== t)
2458
+ return this.onExtractedNationalNumber(i, $, a, t, n), !0;
2459
+ }
2460
+ }
2461
+ /**
2462
+ * In Google's code this function is called "attempt to extract longer NDD".
2463
+ * "Some national prefixes are a substring of others", they say.
2464
+ * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.
2465
+ */
2466
+ }, {
2467
+ key: "extractAnotherNationalSignificantNumber",
2468
+ value: function(t, n, d) {
2469
+ if (!this.hasExtractedNationalSignificantNumber)
2470
+ return this.extractNationalSignificantNumber(t, d);
2471
+ if (this.couldPossiblyExtractAnotherNationalSignificantNumber) {
2472
+ var i = X(t, this.metadata), a = i.nationalPrefix, $ = i.nationalNumber, o = i.carrierCode;
2473
+ if ($ !== n)
2474
+ return this.onExtractedNationalNumber(a, o, $, t, d), !0;
2475
+ }
2476
+ }
2477
+ }, {
2478
+ key: "onExtractedNationalNumber",
2479
+ value: function(t, n, d, i, a) {
2480
+ var $, o, u = i.lastIndexOf(d);
2481
+ if (u >= 0 && u === i.length - d.length) {
2482
+ o = !0;
2483
+ var l = i.slice(0, u);
2484
+ l !== t && ($ = l);
2485
+ }
2486
+ a({
2487
+ nationalPrefix: t,
2488
+ carrierCode: n,
2489
+ nationalSignificantNumber: d,
2490
+ nationalSignificantNumberMatchesInput: o,
2491
+ complexPrefixBeforeNationalSignificantNumber: $
2492
+ }), this.hasExtractedNationalSignificantNumber = !0, this.onNationalSignificantNumberChange();
2493
+ }
2494
+ }, {
2495
+ key: "reExtractNationalSignificantNumber",
2496
+ value: function(t) {
2497
+ if (this.extractAnotherNationalSignificantNumber(t.getNationalDigits(), t.nationalSignificantNumber, function(n) {
2498
+ return t.update(n);
2499
+ }))
2500
+ return !0;
2501
+ if (this.extractIddPrefix(t))
2502
+ return this.extractCallingCodeAndNationalSignificantNumber(t), !0;
2503
+ if (this.fixMissingPlus(t))
2504
+ return this.extractCallingCodeAndNationalSignificantNumber(t), !0;
2505
+ }
2506
+ }, {
2507
+ key: "extractIddPrefix",
2508
+ value: function(t) {
2509
+ var n = t.international, d = t.IDDPrefix, i = t.digits;
2510
+ if (t.nationalSignificantNumber, !(n || d)) {
2511
+ var a = Vt(i, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);
2512
+ if (a !== void 0 && a !== i)
2513
+ return t.update({
2514
+ IDDPrefix: i.slice(0, i.length - a.length)
2515
+ }), this.startInternationalNumber(t, {
2516
+ country: void 0,
2517
+ callingCode: void 0
2518
+ }), !0;
2519
+ }
2520
+ }
2521
+ }, {
2522
+ key: "fixMissingPlus",
2523
+ value: function(t) {
2524
+ if (!t.international) {
2525
+ var n = Kt(t.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata), d = n.countryCallingCode;
2526
+ if (n.number, d)
2527
+ return t.update({
2528
+ missingPlus: !0
2529
+ }), this.startInternationalNumber(t, {
2530
+ country: t.country,
2531
+ callingCode: d
2532
+ }), !0;
2533
+ }
2534
+ }
2535
+ }, {
2536
+ key: "startInternationalNumber",
2537
+ value: function(t, n) {
2538
+ var d = n.country, i = n.callingCode;
2539
+ t.startInternationalNumber(d, i), t.nationalSignificantNumber && (t.resetNationalSignificantNumber(), this.onNationalSignificantNumberChange(), this.hasExtractedNationalSignificantNumber = void 0);
2540
+ }
2541
+ }, {
2542
+ key: "extractCallingCodeAndNationalSignificantNumber",
2543
+ value: function(t) {
2544
+ this.extractCountryCallingCode(t) && this.extractNationalSignificantNumber(t.getNationalDigits(), function(n) {
2545
+ return t.update(n);
2546
+ });
2547
+ }
2548
+ }]), e;
2549
+ }();
2550
+ function sd(e) {
2551
+ var r = e.search($d);
2552
+ if (!(r < 0)) {
2553
+ e = e.slice(r);
2554
+ var t;
2555
+ return e[0] === "+" && (t = !0, e = e.slice(1)), e = e.replace(od, ""), t && (e = "+" + e), e;
2556
+ }
2557
+ }
2558
+ function fd(e) {
2559
+ var r = sd(e) || "";
2560
+ return r[0] === "+" ? [r.slice(1), !0] : [r];
2561
+ }
2562
+ function cd(e) {
2563
+ var r = fd(e), t = de(r, 2), n = t[0], d = t[1];
2564
+ return ad.test(n) || (n = ""), [n, d];
2565
+ }
2566
+ function hd(e, r) {
2567
+ return vd(e) || yd(e, r) || md(e, r) || gd();
2568
+ }
2569
+ function gd() {
2570
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2571
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
2572
+ }
2573
+ function md(e, r) {
2574
+ if (e) {
2575
+ if (typeof e == "string") return Gt(e, r);
2576
+ var t = Object.prototype.toString.call(e).slice(8, -1);
2577
+ if (t === "Object" && e.constructor && (t = e.constructor.name), t === "Map" || t === "Set") return Array.from(e);
2578
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Gt(e, r);
2579
+ }
2580
+ }
2581
+ function Gt(e, r) {
2582
+ (r == null || r > e.length) && (r = e.length);
2583
+ for (var t = 0, n = new Array(r); t < r; t++)
2584
+ n[t] = e[t];
2585
+ return n;
2586
+ }
2587
+ function yd(e, r) {
2588
+ var t = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
2589
+ if (t != null) {
2590
+ var n = [], d = !0, i = !1, a, $;
2591
+ try {
2592
+ for (t = t.call(e); !(d = (a = t.next()).done) && (n.push(a.value), !(r && n.length === r)); d = !0)
2593
+ ;
2594
+ } catch (o) {
2595
+ i = !0, $ = o;
2596
+ } finally {
2597
+ try {
2598
+ !d && t.return != null && t.return();
2599
+ } finally {
2600
+ if (i) throw $;
2601
+ }
2602
+ }
2603
+ return n;
2604
+ }
2605
+ }
2606
+ function vd(e) {
2607
+ if (Array.isArray(e)) return e;
2608
+ }
2609
+ function Nd(e, r) {
2610
+ if (!(e instanceof r))
2611
+ throw new TypeError("Cannot call a class as a function");
2612
+ }
2613
+ function bd(e, r) {
2614
+ for (var t = 0; t < r.length; t++) {
2615
+ var n = r[t];
2616
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
2617
+ }
2618
+ }
2619
+ function pd(e, r, t) {
2620
+ return r && bd(e.prototype, r), Object.defineProperty(e, "prototype", { writable: !1 }), e;
2621
+ }
2622
+ var Cd = /* @__PURE__ */ function() {
2623
+ function e(r, t) {
2624
+ Nd(this, e), this.metadata = new h(t);
2625
+ var n = this.getCountryAndCallingCode(r), d = hd(n, 2), i = d[0], a = d[1];
2626
+ this.defaultCountry = i, this.defaultCallingCode = a, this.reset();
2627
+ }
2628
+ return pd(e, [{
2629
+ key: "getCountryAndCallingCode",
2630
+ value: function(t) {
2631
+ var n, d;
2632
+ return t && (x(t) ? (n = t.defaultCountry, d = t.defaultCallingCode) : n = t), n && !this.metadata.hasCountry(n) && (n = void 0), [n, d];
2633
+ }
2634
+ /**
2635
+ * Inputs "next" phone number characters.
2636
+ * @param {string} text
2637
+ * @return {string} Formatted phone number characters that have been input so far.
2638
+ */
2639
+ }, {
2640
+ key: "input",
2641
+ value: function(t) {
2642
+ var n = this.parser.input(t, this.state), d = n.digits, i = n.justLeadingPlus;
2643
+ if (i)
2644
+ this.formattedOutput = "+";
2645
+ else if (d) {
2646
+ this.determineTheCountryIfNeeded(), this.state.nationalSignificantNumber && this.formatter.narrowDownMatchingFormats(this.state);
2647
+ var a;
2648
+ if (this.metadata.hasSelectedNumberingPlan() && (a = this.formatter.format(d, this.state)), a === void 0 && this.parser.reExtractNationalSignificantNumber(this.state)) {
2649
+ this.determineTheCountryIfNeeded();
2650
+ var $ = this.state.getNationalDigits();
2651
+ $ && (a = this.formatter.format($, this.state));
2652
+ }
2653
+ this.formattedOutput = a ? this.getFullNumber(a) : this.getNonFormattedNumber();
2654
+ }
2655
+ return this.formattedOutput;
2656
+ }
2657
+ }, {
2658
+ key: "reset",
2659
+ value: function() {
2660
+ var t = this;
2661
+ return this.state = new bn({
2662
+ onCountryChange: function(d) {
2663
+ t.country = d;
2664
+ },
2665
+ onCallingCodeChange: function(d, i) {
2666
+ t.metadata.selectNumberingPlan(i, d), t.formatter.reset(t.metadata.numberingPlan, t.state), t.parser.reset(t.metadata.numberingPlan);
2667
+ }
2668
+ }), this.formatter = new Qn({
2669
+ state: this.state,
2670
+ metadata: this.metadata
2671
+ }), this.parser = new ld({
2672
+ defaultCountry: this.defaultCountry,
2673
+ defaultCallingCode: this.defaultCallingCode,
2674
+ metadata: this.metadata,
2675
+ state: this.state,
2676
+ onNationalSignificantNumberChange: function() {
2677
+ t.determineTheCountryIfNeeded(), t.formatter.reset(t.metadata.numberingPlan, t.state);
2678
+ }
2679
+ }), this.state.reset({
2680
+ country: this.defaultCountry,
2681
+ callingCode: this.defaultCallingCode
2682
+ }), this.formattedOutput = "", this;
2683
+ }
2684
+ /**
2685
+ * Returns `true` if the phone number is being input in international format.
2686
+ * In other words, returns `true` if and only if the parsed phone number starts with a `"+"`.
2687
+ * @return {boolean}
2688
+ */
2689
+ }, {
2690
+ key: "isInternational",
2691
+ value: function() {
2692
+ return this.state.international;
2693
+ }
2694
+ /**
2695
+ * Returns the "calling code" part of the phone number when it's being input
2696
+ * in an international format.
2697
+ * If no valid calling code has been entered so far, returns `undefined`.
2698
+ * @return {string} [callingCode]
2699
+ */
2700
+ }, {
2701
+ key: "getCallingCode",
2702
+ value: function() {
2703
+ if (this.isInternational())
2704
+ return this.state.callingCode;
2705
+ }
2706
+ // A legacy alias.
2707
+ }, {
2708
+ key: "getCountryCallingCode",
2709
+ value: function() {
2710
+ return this.getCallingCode();
2711
+ }
2712
+ /**
2713
+ * Returns a two-letter country code of the phone number.
2714
+ * Returns `undefined` for "non-geographic" phone numbering plans.
2715
+ * Returns `undefined` if no phone number has been input yet.
2716
+ * @return {string} [country]
2717
+ */
2718
+ }, {
2719
+ key: "getCountry",
2720
+ value: function() {
2721
+ var t = this.state.digits;
2722
+ if (t)
2723
+ return this._getCountry();
2724
+ }
2725
+ /**
2726
+ * Returns a two-letter country code of the phone number.
2727
+ * Returns `undefined` for "non-geographic" phone numbering plans.
2728
+ * @return {string} [country]
2729
+ */
2730
+ }, {
2731
+ key: "_getCountry",
2732
+ value: function() {
2733
+ var t = this.state.country;
2734
+ return t;
2735
+ }
2736
+ }, {
2737
+ key: "determineTheCountryIfNeeded",
2738
+ value: function() {
2739
+ (!this.state.country || this.isCountryCallingCodeAmbiguous()) && this.determineTheCountry();
2740
+ }
2741
+ // Prepends `+CountryCode ` in case of an international phone number
2742
+ }, {
2743
+ key: "getFullNumber",
2744
+ value: function(t) {
2745
+ var n = this;
2746
+ if (this.isInternational()) {
2747
+ var d = function($) {
2748
+ return n.formatter.getInternationalPrefixBeforeCountryCallingCode(n.state, {
2749
+ spacing: !!$
2750
+ }) + $;
2751
+ }, i = this.state.callingCode;
2752
+ return d(i ? t ? "".concat(i, " ").concat(t) : i : "".concat(this.state.getDigitsWithoutInternationalPrefix()));
2753
+ }
2754
+ return t;
2755
+ }
2756
+ }, {
2757
+ key: "getNonFormattedNationalNumberWithPrefix",
2758
+ value: function() {
2759
+ var t = this.state, n = t.nationalSignificantNumber, d = t.complexPrefixBeforeNationalSignificantNumber, i = t.nationalPrefix, a = n, $ = d || i;
2760
+ return $ && (a = $ + a), a;
2761
+ }
2762
+ }, {
2763
+ key: "getNonFormattedNumber",
2764
+ value: function() {
2765
+ var t = this.state.nationalSignificantNumberMatchesInput;
2766
+ return this.getFullNumber(t ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());
2767
+ }
2768
+ }, {
2769
+ key: "getNonFormattedTemplate",
2770
+ value: function() {
2771
+ var t = this.getNonFormattedNumber();
2772
+ if (t)
2773
+ return t.replace(/[\+\d]/g, N);
2774
+ }
2775
+ }, {
2776
+ key: "isCountryCallingCodeAmbiguous",
2777
+ value: function() {
2778
+ var t = this.state.callingCode, n = this.metadata.getCountryCodesForCallingCode(t);
2779
+ return n && n.length > 1;
2780
+ }
2781
+ // Determines the country of the phone number
2782
+ // entered so far based on the country phone code
2783
+ // and the national phone number.
2784
+ }, {
2785
+ key: "determineTheCountry",
2786
+ value: function() {
2787
+ this.state.setCountry(re(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, {
2788
+ nationalNumber: this.state.nationalSignificantNumber,
2789
+ defaultCountry: this.defaultCountry,
2790
+ metadata: this.metadata
2791
+ }));
2792
+ }
2793
+ /**
2794
+ * Returns a E.164 phone number value for the user's input.
2795
+ *
2796
+ * For example, for country `"US"` and input `"(222) 333-4444"`
2797
+ * it will return `"+12223334444"`.
2798
+ *
2799
+ * For international phone number input, it will also auto-correct
2800
+ * some minor errors such as using a national prefix when writing
2801
+ * an international phone number. For example, if the user inputs
2802
+ * `"+44 0 7400 000000"` then it will return an auto-corrected
2803
+ * `"+447400000000"` phone number value.
2804
+ *
2805
+ * Will return `undefined` if no digits have been input,
2806
+ * or when inputting a phone number in national format and no
2807
+ * default country or default "country calling code" have been set.
2808
+ *
2809
+ * @return {string} [value]
2810
+ */
2811
+ }, {
2812
+ key: "getNumberValue",
2813
+ value: function() {
2814
+ var t = this.state, n = t.digits, d = t.callingCode, i = t.country, a = t.nationalSignificantNumber;
2815
+ if (n) {
2816
+ if (this.isInternational())
2817
+ return d ? "+" + d + a : "+" + n;
2818
+ if (i || d) {
2819
+ var $ = i ? this.metadata.countryCallingCode() : d;
2820
+ return "+" + $ + a;
2821
+ }
2822
+ }
2823
+ }
2824
+ /**
2825
+ * Returns an instance of `PhoneNumber` class.
2826
+ * Will return `undefined` if no national (significant) number
2827
+ * digits have been entered so far, or if no `defaultCountry` has been
2828
+ * set and the user enters a phone number not in international format.
2829
+ */
2830
+ }, {
2831
+ key: "getNumber",
2832
+ value: function() {
2833
+ var t = this.state, n = t.nationalSignificantNumber, d = t.carrierCode, i = t.callingCode, a = this._getCountry();
2834
+ if (n && !(!a && !i)) {
2835
+ if (a && a === this.defaultCountry) {
2836
+ var $ = new h(this.metadata.metadata);
2837
+ $.selectNumberingPlan(a);
2838
+ var o = $.numberingPlan.callingCode(), u = this.metadata.getCountryCodesForCallingCode(o);
2839
+ if (u.length > 1) {
2840
+ var l = ee(n, {
2841
+ countries: u,
2842
+ defaultCountry: this.defaultCountry,
2843
+ metadata: this.metadata.metadata
2844
+ });
2845
+ l && (a = l);
2846
+ }
2847
+ }
2848
+ var c = new Qt(a || i, n, this.metadata.metadata);
2849
+ return d && (c.carrierCode = d), c;
2850
+ }
2851
+ }
2852
+ /**
2853
+ * Returns `true` if the phone number is "possible".
2854
+ * Is just a shortcut for `PhoneNumber.isPossible()`.
2855
+ * @return {boolean}
2856
+ */
2857
+ }, {
2858
+ key: "isPossible",
2859
+ value: function() {
2860
+ var t = this.getNumber();
2861
+ return t ? t.isPossible() : !1;
2862
+ }
2863
+ /**
2864
+ * Returns `true` if the phone number is "valid".
2865
+ * Is just a shortcut for `PhoneNumber.isValid()`.
2866
+ * @return {boolean}
2867
+ */
2868
+ }, {
2869
+ key: "isValid",
2870
+ value: function() {
2871
+ var t = this.getNumber();
2872
+ return t ? t.isValid() : !1;
2873
+ }
2874
+ /**
2875
+ * @deprecated
2876
+ * This method is used in `react-phone-number-input/source/input-control.js`
2877
+ * in versions before `3.0.16`.
2878
+ */
2879
+ }, {
2880
+ key: "getNationalNumber",
2881
+ value: function() {
2882
+ return this.state.nationalSignificantNumber;
2883
+ }
2884
+ /**
2885
+ * Returns the phone number characters entered by the user.
2886
+ * @return {string}
2887
+ */
2888
+ }, {
2889
+ key: "getChars",
2890
+ value: function() {
2891
+ return (this.state.international ? "+" : "") + this.state.digits;
2892
+ }
2893
+ /**
2894
+ * Returns the template for the formatted phone number.
2895
+ * @return {string}
2896
+ */
2897
+ }, {
2898
+ key: "getTemplate",
2899
+ value: function() {
2900
+ return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || "";
2901
+ }
2902
+ }]), e;
2903
+ }();
2904
+ function Pd(e, r, t) {
2905
+ return t || (t = r, r = void 0), new Cd(r, t).input(e);
2906
+ }
2907
+ function xd() {
2908
+ return jt(mn, arguments);
2909
+ }
2910
+ function Ed() {
2911
+ return jt(Pd, arguments);
2912
+ }
2913
+ const Sd = ["phoneNumber", "otp"], Fd = ({ step: e, onSuccess: r, children: t }) => {
2914
+ const n = at(null), d = 6, { state: i } = Bt(), { signInWithSms: a } = ce(), { verifySmsOTP: $ } = he(), [o, u] = $t("US"), [l, c] = $t({
2915
+ value: "",
2916
+ e164: ""
2917
+ }), s = e || i.step, f = s === "credentials" ? "phoneNumber" : "otp", y = at(f), { setPhoneNumber: p, submitPhoneNumber: v } = Pe({
2918
+ submit: (g) => a({ phoneNumber: g })
2919
+ }), { resendCountdown: k, resetOTP: G, setOTP: ie, startResendTimer: ae, submitOtp: $e } = Ce({
2920
+ passwordLength: d,
2921
+ submit: (g) => $({ flowId: i.flowId, otp: g })
2922
+ }), oe = (g) => {
2923
+ g.value !== l.value && (c(g), p(g.e164));
2924
+ };
2925
+ ge(() => {
2926
+ if (i.phoneNumber === l.e164)
2927
+ return;
2928
+ const g = pe(i.phoneNumber, o);
2929
+ c(g);
2930
+ }, [i.phoneNumber, o, l.e164]);
2931
+ const it = () => {
2932
+ ae(60);
2933
+ }, ue = () => {
2934
+ G(), v({ phoneNumber: i.phoneNumber, onSuccess: it });
2935
+ }, le = (g) => {
2936
+ g.preventDefault(), v({ phoneNumber: i.phoneNumber, onSuccess: it });
2937
+ }, se = (g) => {
2938
+ g.preventDefault(), $e({ otp: i.otp, onSuccess: r });
2939
+ };
2940
+ return me(() => {
2941
+ y.current !== f && (n.current?.transition.toggle(f), y.current = f);
2942
+ }, [f]), /* @__PURE__ */ S(
2943
+ be,
2944
+ {
2945
+ autoFocus: !0,
2946
+ animateHeight: !1,
2947
+ items: Sd,
2948
+ initialEntered: !0,
2949
+ direction: f === "otp" ? "left" : "right",
2950
+ transitionRef: n,
2951
+ children: ({ itemKey: g, ...fe }) => {
2952
+ let A = null;
2953
+ return g === "phoneNumber" && (A = /* @__PURE__ */ S(
2954
+ Ne,
2955
+ {
2956
+ countryCode: o,
2957
+ error: f === "phoneNumber" && i.error || "",
2958
+ isPending: i.isPending,
2959
+ onCountryCodeChange: u,
2960
+ onPhoneNumberChange: oe,
2961
+ onSubmit: le,
2962
+ phoneNumber: l
2963
+ }
2964
+ )), g === "otp" && (A = /* @__PURE__ */ S(
2965
+ ve,
2966
+ {
2967
+ canResetOTP: i.canResetOTP,
2968
+ error: f === "otp" && i.error || "",
2969
+ isPending: i.isPending,
2970
+ onOTPChange: ie,
2971
+ onResendOTP: ue,
2972
+ onSubmit: se,
2973
+ otp: i.otp,
2974
+ resendCountdown: k,
2975
+ successMessage: i.isSuccess ? "Success!" : void 0
2976
+ }
2977
+ )), /* @__PURE__ */ S("div", { ...fe, children: t ? t({ step: s, Form: A }) : A });
2978
+ }
2979
+ }
2980
+ );
2981
+ }, Id = ({ step: e }) => /* @__PURE__ */ W(V, { children: [
2982
+ e === "credentials" && "Sign in",
2983
+ e === "verification" && "Enter verification code"
2984
+ ] }), Ad = ({ step: e }) => {
2985
+ const { state: r } = Bt(), t = ye(() => {
2986
+ try {
2987
+ const n = xd(r.phoneNumber), d = n?.formatNational();
2988
+ return `+${n?.countryCallingCode} ${d}`;
2989
+ } catch {
2990
+ return Ed(r.phoneNumber);
2991
+ }
2992
+ }, [r.phoneNumber]);
2993
+ return /* @__PURE__ */ W(V, { children: [
2994
+ e === "credentials" && "We’ll send you a verification code via text.",
2995
+ e === "verification" && /* @__PURE__ */ W(V, { children: [
2996
+ "Enter the 6 digit code sent to",
2997
+ " ",
2998
+ t ? /* @__PURE__ */ S(xe, { children: t }) : "your phone number"
2999
+ ] })
3000
+ ] });
3001
+ }, Hd = {
3002
+ description: Ad,
3003
+ forms: Fd,
3004
+ title: Id
3005
+ };
3006
+ export {
3007
+ Fd as SignInWithSms,
3008
+ Ad as SignInWithSmsDescription,
3009
+ Id as SignInWithSmsTitle,
3010
+ Hd as config
3011
+ };