From a882c94f11c56cd17a6f95aabc717b07c428f662 Mon Sep 17 00:00:00 2001 From: Thijs Louisse Date: Tue, 15 Mar 2022 23:39:25 +0100 Subject: [PATCH] feat(input-tel): new component LionInputTel --- .changeset/rare-panthers-crash.md | 5 + docs/components/inputs/input-tel/features.md | 254 + docs/components/inputs/input-tel/index.md | 3 + docs/components/inputs/input-tel/overview.md | 59 + .../input-tel/src/h-region-code-table.js | 107 + packages/input-tel/README.md | 3 + packages/input-tel/define.js | 1 + packages/input-tel/docs/features.md | 3 + packages/input-tel/docs/overview.md | 3 + packages/input-tel/index.js | 3 + .../input-tel/lib/awesome-phonenumber-esm.js | 14999 ++++++++++++++++ packages/input-tel/lion-input-tel.js | 3 + packages/input-tel/package.json | 63 + packages/input-tel/src/LionInputTel.js | 317 + packages/input-tel/src/PhoneUtilManager.js | 38 + packages/input-tel/src/formatters.js | 57 + packages/input-tel/src/parsers.js | 33 + packages/input-tel/src/preprocessors.js | 51 + packages/input-tel/src/validators.js | 70 + packages/input-tel/test-helpers/index.js | 1 + .../test-helpers/mockPhoneUtilManager.js | 25 + .../test-suites/LionInputTel.suite.js | 384 + packages/input-tel/test-suites/index.js | 1 + packages/input-tel/test/LionInputTel.test.js | 3 + packages/input-tel/test/formatters.test.js | 28 + packages/input-tel/test/parsers.test.js | 16 + packages/input-tel/test/preprocessors.test.js | 32 + packages/input-tel/test/validators.test.js | 94 + packages/input-tel/translations/bg-BG.js | 5 + packages/input-tel/translations/bg.js | 4 + packages/input-tel/translations/cs-CZ.js | 5 + packages/input-tel/translations/cs.js | 4 + packages/input-tel/translations/de-DE.js | 5 + packages/input-tel/translations/de.js | 4 + packages/input-tel/translations/en-AU.js | 5 + packages/input-tel/translations/en-GB.js | 5 + packages/input-tel/translations/en-US.js | 5 + packages/input-tel/translations/en.js | 4 + packages/input-tel/translations/es-ES.js | 5 + packages/input-tel/translations/es.js | 4 + packages/input-tel/translations/fr-BE.js | 5 + packages/input-tel/translations/fr-FR.js | 5 + packages/input-tel/translations/fr.js | 4 + packages/input-tel/translations/hu-HU.js | 5 + packages/input-tel/translations/hu.js | 4 + packages/input-tel/translations/it-IT.js | 5 + packages/input-tel/translations/it.js | 4 + packages/input-tel/translations/nl-BE.js | 5 + packages/input-tel/translations/nl-NL.js | 5 + packages/input-tel/translations/nl.js | 4 + packages/input-tel/translations/pl-PL.js | 5 + packages/input-tel/translations/pl.js | 4 + packages/input-tel/translations/ro-RO.js | 5 + packages/input-tel/translations/ro.js | 4 + packages/input-tel/translations/ru-RU.js | 5 + packages/input-tel/translations/ru.js | 4 + packages/input-tel/translations/sk-SK.js | 5 + packages/input-tel/translations/sk.js | 4 + packages/input-tel/translations/uk-UA.js | 5 + packages/input-tel/translations/uk.js | 4 + packages/input-tel/translations/zh.js | 4 + packages/input-tel/types/index.d.ts | 290 + 62 files changed, 17096 insertions(+) create mode 100644 .changeset/rare-panthers-crash.md create mode 100644 docs/components/inputs/input-tel/features.md create mode 100644 docs/components/inputs/input-tel/index.md create mode 100644 docs/components/inputs/input-tel/overview.md create mode 100644 docs/components/inputs/input-tel/src/h-region-code-table.js create mode 100644 packages/input-tel/README.md create mode 100644 packages/input-tel/define.js create mode 100644 packages/input-tel/docs/features.md create mode 100644 packages/input-tel/docs/overview.md create mode 100644 packages/input-tel/index.js create mode 100644 packages/input-tel/lib/awesome-phonenumber-esm.js create mode 100644 packages/input-tel/lion-input-tel.js create mode 100644 packages/input-tel/package.json create mode 100644 packages/input-tel/src/LionInputTel.js create mode 100644 packages/input-tel/src/PhoneUtilManager.js create mode 100644 packages/input-tel/src/formatters.js create mode 100644 packages/input-tel/src/parsers.js create mode 100644 packages/input-tel/src/preprocessors.js create mode 100644 packages/input-tel/src/validators.js create mode 100644 packages/input-tel/test-helpers/index.js create mode 100644 packages/input-tel/test-helpers/mockPhoneUtilManager.js create mode 100644 packages/input-tel/test-suites/LionInputTel.suite.js create mode 100644 packages/input-tel/test-suites/index.js create mode 100644 packages/input-tel/test/LionInputTel.test.js create mode 100644 packages/input-tel/test/formatters.test.js create mode 100644 packages/input-tel/test/parsers.test.js create mode 100644 packages/input-tel/test/preprocessors.test.js create mode 100644 packages/input-tel/test/validators.test.js create mode 100644 packages/input-tel/translations/bg-BG.js create mode 100644 packages/input-tel/translations/bg.js create mode 100644 packages/input-tel/translations/cs-CZ.js create mode 100644 packages/input-tel/translations/cs.js create mode 100644 packages/input-tel/translations/de-DE.js create mode 100644 packages/input-tel/translations/de.js create mode 100644 packages/input-tel/translations/en-AU.js create mode 100644 packages/input-tel/translations/en-GB.js create mode 100644 packages/input-tel/translations/en-US.js create mode 100644 packages/input-tel/translations/en.js create mode 100644 packages/input-tel/translations/es-ES.js create mode 100644 packages/input-tel/translations/es.js create mode 100644 packages/input-tel/translations/fr-BE.js create mode 100644 packages/input-tel/translations/fr-FR.js create mode 100644 packages/input-tel/translations/fr.js create mode 100644 packages/input-tel/translations/hu-HU.js create mode 100644 packages/input-tel/translations/hu.js create mode 100644 packages/input-tel/translations/it-IT.js create mode 100644 packages/input-tel/translations/it.js create mode 100644 packages/input-tel/translations/nl-BE.js create mode 100644 packages/input-tel/translations/nl-NL.js create mode 100644 packages/input-tel/translations/nl.js create mode 100644 packages/input-tel/translations/pl-PL.js create mode 100644 packages/input-tel/translations/pl.js create mode 100644 packages/input-tel/translations/ro-RO.js create mode 100644 packages/input-tel/translations/ro.js create mode 100644 packages/input-tel/translations/ru-RU.js create mode 100644 packages/input-tel/translations/ru.js create mode 100644 packages/input-tel/translations/sk-SK.js create mode 100644 packages/input-tel/translations/sk.js create mode 100644 packages/input-tel/translations/uk-UA.js create mode 100644 packages/input-tel/translations/uk.js create mode 100644 packages/input-tel/translations/zh.js create mode 100644 packages/input-tel/types/index.d.ts diff --git a/.changeset/rare-panthers-crash.md b/.changeset/rare-panthers-crash.md new file mode 100644 index 000000000..732c593b1 --- /dev/null +++ b/.changeset/rare-panthers-crash.md @@ -0,0 +1,5 @@ +--- +'@lion/input-tel': minor +--- + +New component "LionInputTel" diff --git a/docs/components/inputs/input-tel/features.md b/docs/components/inputs/input-tel/features.md new file mode 100644 index 000000000..483e36624 --- /dev/null +++ b/docs/components/inputs/input-tel/features.md @@ -0,0 +1,254 @@ +# Inputs >> Input Tel >> Features ||20 + +```js script +import { html } from '@mdjs/mdjs-preview'; +import { ref, createRef } from '@lion/core'; +import { Unparseable } from '@lion/form-core'; +import { localize } from '@lion/localize'; +import { loadDefaultFeedbackMessages } from '@lion/validate-messages'; +import { PhoneUtilManager } from '@lion/input-tel'; +import '@lion/input-tel/define'; +import './src/h-region-code-table.js'; +import '../../../docs/systems/form/assets/h-output.js'; +``` + +## Regions: some context + +Say we have the following telephone number from Madrid, Spain: `+34919930432`. + +It contains a [country code](https://en.wikipedia.org/wiki/Country_code) (34), an [area code](https://en.wikipedia.org/wiki/Telephone_numbering_plan#Area_code) (91) and a [dial code](https://en.wikipedia.org/wiki/Mobile_dial_code) (+34 91). +Input Tel interprets phone numbers based on their [region code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2): a two character long region representation('ES' in the telephone number above). + +The table below lists all possible regions worldwide. When [allowed regions](#allowed-regions) are not configured, +all of them will be supported as values of Input Tel. + +```js story +export const regionCodesTable = () => html``; +``` + +### Active region + +The active region (accessible via readonly accessor `.activeRegion`) determines how validation and formatting +should be applied. It is dependent on the following factors: + +- [allowed regions](#allowed-regions): a list that determines what is allowed to become .activeRegion. If + [.allowedRegions has only one entry](#restrict-to-one-region), .activeRegion will always be this value. +- the modelValue or viewValue: once it contains sufficient info to derive its region code (and + the derived code is inside [allowed regions](#allowed-regions) if configured) +- active locale (and the derived locale is inside [allowed regions](#allowed-regions) if configured) + +What follows from the list above is that .activeRegion can change dynamically, after a value +change in the text box by the user (or when locales or allowed regions would be changed by the +Application Developer). + +### How active region is computed + +The following heuristic will be applied: + +1. check for **allowed regions**: if one region defined in .allowedRegions, use it. +2. check for **user input**: try to derive active region from user input +3. check for **locale**: try to get the region from locale (`html[lang]` attribute) + +```js preview-story +export const heuristic = () => { + const initialAllowedRegions = ['CN', 'ES']; + const [inputTelRef, outputRef, selectRef] = [createRef(), createRef(), createRef()]; + + const setDerivedActiveRegionScenario = ( + scenarioToSet, + inputTel = inputTelRef.value, + output = outputRef.value, + ) => { + if (scenarioToSet === 'only-allowed-region') { + // activeRegion will be the top allowed region, which is 'NL' + inputTel.modelValue = undefined; + inputTel.allowedRegions = ['NL']; // activeRegion will always be the only option + output.innerText = '.activeRegion (NL) is only allowed region'; + } else if (scenarioToSet === 'user-input') { + // activeRegion will be based on phone number => 'BE' + inputTel.allowedRegions = ['NL', 'BE', 'DE']; + inputTel.modelValue = '+3261234567'; // BE number + output.innerText = '.activeRegion (BE) is derived (since within allowedRegions)'; + } else if (scenarioToSet === 'locale') { + localize.locale = 'en-GB'; + // activeRegion will be `html[lang]` + inputTel.modelValue = undefined; + inputTel.allowedRegions = undefined; + output.innerText = `.activeRegion (${inputTel._langIso}) set to locale when inside allowed or all regions`; + } else { + output.innerText = ''; + } + }; + return html` + + + + + `; +}; +``` + +## Allowed regions + +`.allowedRegions` is an array of one or more region codes. +Once it is configured, validation and formatting will be restricted to those +values that are present in this list. + +> Note that for [InputTelDropdown](../input-tel-dropdown/index.md), only allowed regions will +> be shown in the dropdown list. + +```js preview-story +export const allowedRegions = () => html` + + +`; +``` + +### Restrict to one region + +When one allowed region is configured, validation and formatting will be restricted to just that +region (that means that changes of the region via viewValue won't have effect). + +```js preview-story +export const oneAllowedRegion = () => html` + + +`; +``` + +## Format strategy + +Determines what the formatter output should look like. +Formatting strategies as provided by awesome-phonenumber / google-libphonenumber. + +Possible values: + +| strategy | output | +| :------------ | ---------------------: | +| e164 | `+46707123456` | +| international | `+46 70 712 34 56` | +| national | `070-712 34 56` | +| significant | `707123456` | +| rfc3966 | `tel:+46-70-712-34-56` | + +Also see: + +- [awesome-phonenumber documentation](https://www.npmjs.com/package/awesome-phonenumber) + +```js preview-story +export const formatStrategy = () => { + const inputTel = createRef(); + return html` + + + + `; +}; +``` + +## Live format + +Type '6' in the example below to see how the phone number is formatted during typing. + +See [awesome-phonenumber documentation](https://www.npmjs.com/package/awesome-phonenumber) + +```js preview-story +export const liveFormat = () => html` + +`; +``` + +## Active phone number type + +The readonly acessor `.activePhoneNumberType` outputs the current phone number type, based on +the textbox value. + +Possible types: `fixed-line`, `fixed-line-or-mobile`, `mobile`, `pager`, `personal-number`, `premium-rate`, `shared-cost`, `toll-free`, `uan`, `voip`, `unknown` + +Also see: + +- [awesome-phonenumber documentation](https://www.npmjs.com/package/awesome-phonenumber) + +```js preview-story +export const activePhoneNumberType = () => html` + + +`; +``` diff --git a/docs/components/inputs/input-tel/index.md b/docs/components/inputs/input-tel/index.md new file mode 100644 index 000000000..f8548f9c5 --- /dev/null +++ b/docs/components/inputs/input-tel/index.md @@ -0,0 +1,3 @@ +# Inputs >> Input Tel ||20 + +-> go to Overview diff --git a/docs/components/inputs/input-tel/overview.md b/docs/components/inputs/input-tel/overview.md new file mode 100644 index 000000000..58b6f3a91 --- /dev/null +++ b/docs/components/inputs/input-tel/overview.md @@ -0,0 +1,59 @@ +# Inputs >> Input Tel >> Overview ||10 + +Input field for entering phone numbers, including validation, formatting and mobile keyboard support. + +```js script +import { html } from '@mdjs/mdjs-preview'; +import { ref, createRef } from '@lion/core'; +import { PhoneUtilManager } from '@lion/input-tel'; +import '@lion/input-tel/define'; +import '../../../docs/systems/form/assets/h-output.js'; +``` + +```js preview-story +export const main = () => { + return html` + + + `; +}; +``` + +## Features + +- Extends our [input](../input/overview.md) +- Shows a mobile telephone keypad on mobile (by having a native `` inside) +- Can be configured with a list of allowed region codes +- Will be preconfigured with region derived from locale +- Has the [e164 standard format](https://en.wikipedia.org/wiki/E.164) as modelValue +- Uses [awesome-phonenumber](https://www.npmjs.com/package/awesome-phonenumber) (a performant, concise version of [google-lib-phonenumber](https://www.npmjs.com/package/google-libphonenumber)): + - Formats phone numbers, based on region code + - Validates phone numbers, based on region code +- Lazy loads awesome-phonenumber, so that the first paint of this component will be brought to your screen as quick as possible + +## Installation + +```bash +npm i --save @lion/input-tel +``` + +```js +import { LionInputTel } from '@lion/input-tel'; +// or +import '@lion/input-tel/define'; +``` diff --git a/docs/components/inputs/input-tel/src/h-region-code-table.js b/docs/components/inputs/input-tel/src/h-region-code-table.js new file mode 100644 index 000000000..84c348a00 --- /dev/null +++ b/docs/components/inputs/input-tel/src/h-region-code-table.js @@ -0,0 +1,107 @@ +import { LitElement, css, html, repeat, ScopedStylesController } from '@lion/core'; +import { regionMetaList } from '../../select-rich/src/regionMetaList.js'; + +export class HRegionCodeTable extends LitElement { + static properties = { + regionMeta: Object, + }; + + constructor() { + super(); + /** @type {ScopedStylesController} */ + this.scopedStylesController = new ScopedStylesController(this); + } + + /** + * @param {CSSResult} scope + */ + static scopedStyles(scope) { + return css` + /* Custom input range styling comes here, be aware that this won't work for polyfilled browsers */ + .${scope} .sr-only { + position: absolute; + top: 0; + width: 1px; + height: 1px; + overflow: hidden; + clip-path: inset(100%); + clip: rect(1px, 1px, 1px, 1px); + white-space: nowrap; + border: 0; + margin: 0; + padding: 0; + } + + .${scope} table { + position: relative; + height: 300px; + } + + .${scope} th { + border-left: none; + border-right: none; + position: sticky; + top: -1px; + } + + .${scope} th .backdrop { + background-color: white; + opacity: 0.95; + filter: blur(4px); + position: absolute; + inset: -5px; + } + + .${scope} th .content { + position: relative; + } + + .${scope} td { + border-left: none; + border-right: none; + } + `; + } + + // Render to light dom, so global table styling will be applied + createRenderRoot() { + return this; + } + + render() { + const finalRegionMetaList = this.regionMetaList || regionMetaList; + return html` + + + + + + + + + + + ${repeat( + finalRegionMetaList, + regionMeta => regionMeta.regionCode, + ({ regionCode, countryCode, flagSymbol, nameForLocale }) => + html` + + + + `, + )} + +
+ Region codes +
+ country name + + region code + + country code +
${nameForLocale}${regionCode}${countryCode}
+ `; + } +} +customElements.define('h-region-code-table', HRegionCodeTable); diff --git a/packages/input-tel/README.md b/packages/input-tel/README.md new file mode 100644 index 000000000..15477ff9c --- /dev/null +++ b/packages/input-tel/README.md @@ -0,0 +1,3 @@ +# Lion Input Tel + +[=> See Source <=](../../docs/components/inputs/input-tel/overview.md) diff --git a/packages/input-tel/define.js b/packages/input-tel/define.js new file mode 100644 index 000000000..7cbb5eeed --- /dev/null +++ b/packages/input-tel/define.js @@ -0,0 +1 @@ +import './lion-input-tel.js'; diff --git a/packages/input-tel/docs/features.md b/packages/input-tel/docs/features.md new file mode 100644 index 000000000..67c340e21 --- /dev/null +++ b/packages/input-tel/docs/features.md @@ -0,0 +1,3 @@ +# Lion Input Tel Features + +[=> See Source <=](../../../docs/components/inputs/input-tel/features.md) diff --git a/packages/input-tel/docs/overview.md b/packages/input-tel/docs/overview.md new file mode 100644 index 000000000..beb882927 --- /dev/null +++ b/packages/input-tel/docs/overview.md @@ -0,0 +1,3 @@ +# Lion Input Tel Overview + +[=> See Source <=](../../../docs/components/inputs/input-tel/overview.md) diff --git a/packages/input-tel/index.js b/packages/input-tel/index.js new file mode 100644 index 000000000..ede29a74d --- /dev/null +++ b/packages/input-tel/index.js @@ -0,0 +1,3 @@ +export { LionInputTel } from './src/LionInputTel.js'; +export { PhoneUtilManager } from './src/PhoneUtilManager.js'; +export { liveFormatPhoneNumber } from './src/preprocessors.js'; diff --git a/packages/input-tel/lib/awesome-phonenumber-esm.js b/packages/input-tel/lib/awesome-phonenumber-esm.js new file mode 100644 index 000000000..7a4c80daa --- /dev/null +++ b/packages/input-tel/lib/awesome-phonenumber-esm.js @@ -0,0 +1,14999 @@ +// @ts-nocheck +/* eslint-disable */ + +var commonjsGlobal = + typeof globalThis !== 'undefined' + ? globalThis + : typeof window !== 'undefined' + ? window + : typeof global !== 'undefined' + ? global + : typeof self !== 'undefined' + ? self + : {}; + +function getDefaultExportFromCjs(x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +var awesomePhonenumber = { exports: {} }; + +var lib = { exports: {} }; + +(function (module) { + (function () { + /* + + Copyright The Closure Library Authors. + SPDX-License-Identifier: Apache-2.0 +*/ + var aa = this || self; + function h(a, b) { + function c() {} + c.prototype = b.prototype; + a.Ca = b.prototype; + a.prototype = new c(); + a.prototype.constructor = a; + a.Ia = function (d, e, f) { + for (var g = Array(arguments.length - 2), l = 2; l < arguments.length; l++) + g[l - 2] = arguments[l]; + return b.prototype[e].apply(d, g); + }; + } + function ba(a) { + var b = []; + let c = 0; + for (var d in a) b[c++] = a[d]; + return b; + } + function ca(a, b) { + this.h = a; + this.g = {}; + for (a = 0; a < b.length; a++) { + var c = b[a]; + this.g[c.g] = c; + } + } + function da(a) { + a = ba(a.g); + a.sort(function (b, c) { + return b.g - c.g; + }); + return a; + } + function ea(a, b) { + this.g = a; + this.l = !!b.fa; + this.h = b.i; + this.s = b.type; + this.o = !1; + switch (this.h) { + case fa: + case ha: + case ia: + case ja: + case ka: + case la: + case ma: + this.o = !0; + } + this.j = b.defaultValue; + } + var ma = 1, + la = 2, + fa = 3, + ha = 4, + ia = 6, + ja = 16, + ka = 18; + function k() { + this.h = {}; + this.j = this.m().g; + this.g = this.l = null; + } + k.prototype.has = function (a) { + return m(this, a.g); + }; + k.prototype.get = function (a, b) { + return n(this, a.g, b); + }; + k.prototype.set = function (a, b) { + p(this, a.g, b); + }; + k.prototype.add = function (a, b) { + na(this, a.g, b); + }; + function oa(a, b) { + for (var c = da(a.m()), d = 0; d < c.length; d++) { + var e = c[d], + f = e.g; + if (m(b, f)) { + a.g && delete a.g[e.g]; + var g = 11 == e.h || 10 == e.h; + if (e.l) { + e = r(b, f); + for (var l = 0; l < e.length; l++) na(a, f, g ? e[l].clone() : e[l]); + } else (e = t(b, f)), g ? ((g = t(a, f)) ? oa(g, e) : p(a, f, e.clone())) : p(a, f, e); + } + } + } + k.prototype.clone = function () { + var a = new this.constructor(); + a != this && ((a.h = {}), a.g && (a.g = {}), oa(a, this)); + return a; + }; + function m(a, b) { + return null != a.h[b]; + } + function t(a, b) { + var c = a.h[b]; + if (null == c) return null; + if (a.l) { + if (!(b in a.g)) { + var d = a.l, + e = a.j[b]; + if (null != c) + if (e.l) { + for (var f = [], g = 0; g < c.length; g++) f[g] = d.h(e, c[g]); + c = f; + } else c = d.h(e, c); + return (a.g[b] = c); + } + return a.g[b]; + } + return c; + } + function n(a, b, c) { + var d = t(a, b); + return a.j[b].l ? d[c || 0] : d; + } + function u(a, b) { + if (m(a, b)) a = n(a, b, void 0); + else + a: { + a = a.j[b]; + if (void 0 === a.j) + if (((b = a.s), b === Boolean)) a.j = !1; + else if (b === Number) a.j = 0; + else if (b === String) a.j = a.o ? '0' : ''; + else { + a = new b(); + break a; + } + a = a.j; + } + return a; + } + function r(a, b) { + return t(a, b) || []; + } + function v(a, b) { + return a.j[b].l ? (m(a, b) ? a.h[b].length : 0) : m(a, b) ? 1 : 0; + } + function p(a, b, c) { + a.h[b] = c; + a.g && (a.g[b] = c); + } + function na(a, b, c) { + a.h[b] || (a.h[b] = []); + a.h[b].push(c); + a.g && delete a.g[b]; + } + function w(a, b) { + var c = [], + d; + for (d in b) 0 != d && c.push(new ea(d, b[d])); + return new ca(a, c); + } + function x() {} + x.prototype.g = function (a) { + new a.h(); + throw Error('Unimplemented'); + }; + x.prototype.h = function (a, b) { + if (11 == a.h || 10 == a.h) return b instanceof k ? b : this.g(a.s.prototype.m(), b); + if (14 == a.h) return 'string' === typeof b && pa.test(b) && ((a = Number(b)), 0 < a) ? a : b; + if (!a.o) return b; + a = a.s; + if (a === String) { + if ('number' === typeof b) return String(b); + } else if ( + a === Number && + 'string' === typeof b && + ('Infinity' === b || '-Infinity' === b || 'NaN' === b || pa.test(b)) + ) + return Number(b); + return b; + }; + var pa = /^-?[0-9]+$/; + function qa() {} + h(qa, x); + qa.prototype.g = function (a, b) { + a = new a.h(); + a.l = this; + a.h = b; + a.g = {}; + return a; + }; + function y() {} + h(y, qa); + y.prototype.h = function (a, b) { + return 8 == a.h ? !!b : x.prototype.h.apply(this, arguments); + }; + y.prototype.g = function (a, b) { + return y.Ca.g.call(this, a, b); + }; + function z(a, b) { + null != a && this.g.apply(this, arguments); + } + z.prototype.h = ''; + z.prototype.set = function (a) { + this.h = '' + a; + }; + z.prototype.g = function (a, b, c) { + this.h += String(a); + if (null != b) for (let d = 1; d < arguments.length; d++) this.h += arguments[d]; + return this; + }; + function A(a) { + a.h = ''; + } + z.prototype.toString = function () { + return this.h; + }; /* + + Protocol Buffer 2 Copyright 2008 Google Inc. + All other code copyright its respective owners. + Copyright (C) 2010 The Libphonenumber Authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + function B() { + k.call(this); + } + h(B, k); + var ra = null; + function C() { + k.call(this); + } + h(C, k); + var sa = null; + function D() { + k.call(this); + } + h(D, k); + var ta = null; + D.prototype.ha = function () { + return n(this, 10); + }; + B.prototype.m = function () { + var a = ra; + a || + (ra = a = + w(B, { + 0: { name: 'NumberFormat', ma: 'i18n.phonenumbers.NumberFormat' }, + 1: { name: 'pattern', required: !0, i: 9, type: String }, + 2: { name: 'format', required: !0, i: 9, type: String }, + 3: { name: 'leading_digits_pattern', fa: !0, i: 9, type: String }, + 4: { name: 'national_prefix_formatting_rule', i: 9, type: String }, + 6: { + name: 'national_prefix_optional_when_formatting', + i: 8, + defaultValue: !1, + type: Boolean, + }, + 5: { name: 'domestic_carrier_code_formatting_rule', i: 9, type: String }, + })); + return a; + }; + B.m = B.prototype.m; + C.prototype.m = function () { + var a = sa; + a || + (sa = a = + w(C, { + 0: { name: 'PhoneNumberDesc', ma: 'i18n.phonenumbers.PhoneNumberDesc' }, + 2: { name: 'national_number_pattern', i: 9, type: String }, + 9: { name: 'possible_length', fa: !0, i: 5, type: Number }, + 10: { name: 'possible_length_local_only', fa: !0, i: 5, type: Number }, + 6: { name: 'example_number', i: 9, type: String }, + })); + return a; + }; + C.m = C.prototype.m; + D.prototype.m = function () { + var a = ta; + a || + (ta = a = + w(D, { + 0: { name: 'PhoneMetadata', ma: 'i18n.phonenumbers.PhoneMetadata' }, + 1: { name: 'general_desc', i: 11, type: C }, + 2: { name: 'fixed_line', i: 11, type: C }, + 3: { name: 'mobile', i: 11, type: C }, + 4: { name: 'toll_free', i: 11, type: C }, + 5: { name: 'premium_rate', i: 11, type: C }, + 6: { name: 'shared_cost', i: 11, type: C }, + 7: { name: 'personal_number', i: 11, type: C }, + 8: { name: 'voip', i: 11, type: C }, + 21: { name: 'pager', i: 11, type: C }, + 25: { name: 'uan', i: 11, type: C }, + 27: { name: 'emergency', i: 11, type: C }, + 28: { name: 'voicemail', i: 11, type: C }, + 29: { name: 'short_code', i: 11, type: C }, + 30: { name: 'standard_rate', i: 11, type: C }, + 31: { name: 'carrier_specific', i: 11, type: C }, + 33: { name: 'sms_services', i: 11, type: C }, + 24: { name: 'no_international_dialling', i: 11, type: C }, + 9: { name: 'id', required: !0, i: 9, type: String }, + 10: { name: 'country_code', i: 5, type: Number }, + 11: { name: 'international_prefix', i: 9, type: String }, + 17: { name: 'preferred_international_prefix', i: 9, type: String }, + 12: { name: 'national_prefix', i: 9, type: String }, + 13: { name: 'preferred_extn_prefix', i: 9, type: String }, + 15: { name: 'national_prefix_for_parsing', i: 9, type: String }, + 16: { name: 'national_prefix_transform_rule', i: 9, type: String }, + 18: { + name: 'same_mobile_and_fixed_line_pattern', + i: 8, + defaultValue: !1, + type: Boolean, + }, + 19: { name: 'number_format', fa: !0, i: 11, type: B }, + 20: { name: 'intl_number_format', fa: !0, i: 11, type: B }, + 22: { name: 'main_country_for_code', i: 8, defaultValue: !1, type: Boolean }, + 23: { name: 'leading_digits', i: 9, type: String }, + 26: { name: 'leading_zero_possible', i: 8, defaultValue: !1, type: Boolean }, + })); + return a; + }; + D.m = D.prototype.m; + function E() { + k.call(this); + } + h(E, k); + var ua = null; + E.prototype.ha = function () { + return n(this, 1); + }; + var va = { Ha: 0, Ga: 1, Fa: 5, Ea: 10, Da: 20 }; + E.prototype.m = function () { + var a = ua; + a || + (ua = a = + w(E, { + 0: { name: 'PhoneNumber', ma: 'i18n.phonenumbers.PhoneNumber' }, + 1: { name: 'country_code', required: !0, i: 5, type: Number }, + 2: { name: 'national_number', required: !0, i: 4, type: Number }, + 3: { name: 'extension', i: 9, type: String }, + 4: { name: 'italian_leading_zero', i: 8, type: Boolean }, + 8: { name: 'number_of_leading_zeros', i: 5, defaultValue: 1, type: Number }, + 5: { name: 'raw_input', i: 9, type: String }, + 6: { name: 'country_code_source', i: 14, defaultValue: 0, type: va }, + 7: { name: 'preferred_domestic_carrier_code', i: 9, type: String }, + })); + return a; + }; + E.ctor = E; + E.ctor.m = E.prototype.m; /* + + Copyright (C) 2010 The Libphonenumber Authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + var F = { + 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'.split(' '), + 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'], + 800: ['001'], + 808: ['001'], + 850: ['KP'], + 852: ['HK'], + 853: ['MO'], + 855: ['KH'], + 856: ['LA'], + 870: ['001'], + 878: ['001'], + 880: ['BD'], + 881: ['001'], + 882: ['001'], + 883: ['001'], + 886: ['TW'], + 888: ['001'], + 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'], + 979: ['001'], + 992: ['TJ'], + 993: ['TM'], + 994: ['AZ'], + 995: ['GE'], + 996: ['KG'], + 998: ['UZ'], + }, + G = { + AC: [ + , + [, , '(?:[01589]\\d|[46])\\d{4}', , , , , , , [5, 6]], + [, , '6[2-467]\\d{3}', , , , '62889', , , [5]], + [, , '4\\d{4}', , , , '40123', , , [5]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AC', + 247, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '(?:0[1-9]|[1589]\\d)\\d{4}', , , , '542011', , , [6]], + , + , + [, , , , , , , , , [-1]], + ], + AD: [ + , + [, , '(?:1|6\\d)\\d{7}|[135-9]\\d{5}', , , , , , , [6, 8, 9]], + [, , '[78]\\d{5}', , , , '712345', , , [6]], + [, , '690\\d{6}|[356]\\d{5}', , , , '312345', , , [6, 9]], + [, , '180[02]\\d{4}', , , , '18001234', , , [8]], + [, , '[19]\\d{5}', , , , '912345', , , [6]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AD', + 376, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '1800\\d{4}', , , , , , , [8]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AE: [ + , + [ + , + , + '(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}', + , + , + , + , + , + , + [5, 6, 7, 8, 9, 10, 11, 12], + ], + [, , '[2-4679][2-8]\\d{6}', , , , '22345678', , , [8], [7]], + [, , '5[024-68]\\d{7}', , , , '501234567', , , [9]], + [, , '400\\d{6}|800\\d{2,9}', , , , '800123456'], + [, , '900[02]\\d{5}', , , , '900234567', , , [9]], + [, , '700[05]\\d{5}', , , , '700012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AE', + 971, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '600[25]\\d{5}', , , , '600212345', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + AF: [ + , + [, , '[2-7]\\d{8}', , , , , , , [9], [7]], + [, , '(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}', , , , '234567890', , , , [7]], + [, , '7\\d{8}', , , , '701234567', , , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AF', + 93, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[1-9]']], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[2-7]'], '0$1'], + ], + [[, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[2-7]'], '0$1']], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AG: [ + , + [, , '(?:268|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [, , '268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}', , , , '2684601234', , , , [7]], + [ + , + , + '268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}', + , + , + , + '2684641234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , '26848[01]\\d{4}', , , , '2684801234', , , , [7]], + 'AG', + 1, + '011', + '1', + , + , + '1|([457]\\d{6})$', + '268$1', + , + , + , + , + [, , '26840[69]\\d{4}', , , , '2684061234', , , , [7]], + , + '268', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AI: [ + , + [, , '(?:264|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [, , '264(?:292|4(?:6[12]|9[78]))\\d{4}', , , , '2644612345', , , , [7]], + [ + , + , + '264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}', + , + , + , + '2642351234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'AI', + 1, + '011', + '1', + , + , + '1|([2457]\\d{6})$', + '264$1', + , + , + , + , + [, , '264724\\d{4}', , , , '2647241234', , , , [7]], + , + '264', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AL: [ + , + [ + , + , + '(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}', + , + , + , + , + , + , + [6, 7, 8, 9], + [5], + ], + [ + , + , + '4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}', + , + , + , + '22345678', + , + , + [8], + [5, 6, 7], + ], + [, , '6(?:[78][2-9]|9\\d)\\d{6}', , , , '672123456', , , [9]], + [, , '800\\d{4}', , , , '8001234', , , [7]], + [, , '900[1-9]\\d\\d', , , , '900123', , , [6]], + [, , '808[1-9]\\d\\d', , , , '808123', , , [6]], + [, , '700[2-9]\\d{4}', , , , '70021234', , , [8]], + [, , , , , , , , , [-1]], + 'AL', + 355, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AM: [ + , + [, , '(?:[1-489]\\d|55|60|77)\\d{6}', , , , , , , [8], [5, 6]], + [ + , + , + '(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}', + , + , + , + '10123456', + , + , + , + [5, 6], + ], + [, , '(?:33|4[1349]|55|77|88|9[13-9])\\d{6}', , , , '77123456'], + [, , '800\\d{5}', , , , '80012345'], + [, , '90[016]\\d{5}', , , , '90012345'], + [, , '80[1-4]\\d{5}', , , , '80112345'], + [, , , , , , , , , [-1]], + [, , '60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[01])\\d{4}', , , , '60271234'], + 'AM', + 374, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AO: [ + , + [, , '[29]\\d{8}', , , , , , , [9]], + [, , '2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}', , , , '222123456'], + [, , '9[1-49]\\d{7}', , , , '923123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AO', + 244, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[29]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AR: [ + , + [, , '(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}', , , , , , , [10, 11], [6, 7, 8]], + [ + , + , + '3888[013-9]\\d{5}|(?:29(?:54|66)|3(?:777|865))[2-8]\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|302|657|920)|3(?:4(?:8[27]|92)|541|755|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|32[03]|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-8]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:[03][45]|[17][2-6]|[58][3-6])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}', + , + , + , + '1123456789', + , + , + [10], + [6, 7, 8], + ], + [ + , + , + '93888[013-9]\\d{5}|9(?:29(?:54|66)|3(?:777|865))[2-8]\\d{5}|93(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|302|657|920)|3(?:4(?:8[27]|92)|541|755|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|32[03]|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-8]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:[03][45]|[17][2-6]|[58][3-6]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}', + , + , + , + '91123456789', + , + , + , + [6, 7, 8], + ], + [, , '800\\d{7,8}', , , , '8001234567'], + [, , '60[04579]\\d{7}', , , , '6001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AR', + 54, + '00', + '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', + , + , + [ + [, '(\\d{3})', '$1', ['0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911']], + [, '(\\d{2})(\\d{4})', '$1-$2', ['[1-9]']], + [, '(\\d{3})(\\d{4})', '$1-$2', ['[2-8]']], + [, '(\\d{4})(\\d{4})', '$1-$2', ['[1-8]']], + [ + , + '(\\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', + ], + [, '(\\d)(\\d{2})(\\d{4})(\\d{4})', '$2 15-$3-$4', ['91'], '0$1'], + [, '(\\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'], + ], + [ + [ + , + '(\\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})', + '$1 $2 $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]', + ], + ], + [, '(\\d)(\\d{2})(\\d{4})(\\d{4})', '$1 $2 $3-$4', ['91']], + [, '(\\d{3})(\\d{3})(\\d{5})', '$1-$2-$3', ['8'], '0$1'], + [, '(\\d)(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3-$4', ['9']], + ], + [, , , , , , , , , [-1]], + , + , + [, , '810\\d{7}', , , , , , , [10]], + [, , '810\\d{7}', , , , '8101234567', , , [10]], + , + , + [, , , , , , , , , [-1]], + ], + AS: [ + , + [, , '(?:[58]\\d\\d|684|900)\\d{7}', , , , , , , [10], [7]], + [, , '6846(?:22|33|44|55|77|88|9[19])\\d{4}', , , , '6846221234', , , , [7]], + [, , '684(?:2(?:48|5[2468]|72)|7(?:3[13]|70|82))\\d{4}', , , , '6847331234', , , , [7]], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'AS', + 1, + '011', + '1', + , + , + '1|([267]\\d{6})$', + '684$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '684', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AT: [ + , + [ + , + , + '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], + [3], + ], + [ + , + , + '1(?:11\\d|[2-9]\\d{3,11})|(?:316|463|(?:51|66|73)2)\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}', + , + , + , + '1234567890', + , + , + , + [3], + ], + [ + , + , + '6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}', + , + , + , + '664123456', + , + , + [7, 8, 9, 10, 11, 12, 13], + ], + [, , '800\\d{6,10}', , , , '800123456', , , [9, 10, 11, 12, 13]], + [ + , + , + '(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}', + , + , + , + '900123456', + , + , + [9, 10, 11, 12, 13], + ], + [, , '8(?:10|2[018])\\d{6,10}|828\\d{5}', , , , '810123456', , , [8, 9, 10, 11, 12, 13]], + [, , , , , , , , , [-1]], + [ + , + , + '5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}', + , + , + , + '780123456', + , + , + [5, 6, 7, 8, 9, 10, 11, 12, 13], + ], + 'AT', + 43, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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{6})', '$1', ['1']], + [ + , + '(\\d{3})(\\d{3,10})', + '$1 $2', + ['(?:31|4)6|51|6(?: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'], + ], + [ + [, '(\\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(?: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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AU: [ + , + [ + , + , + '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], + ], + [ + , + , + '(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8]))\\d{3}|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]))|(?: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}', + , + , + , + '212345678', + , + , + [9], + [8], + ], + [ + , + , + '4(?:83[0-38]|93[0-6])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\d{6}', + , + , + , + '412345678', + , + , + [9], + ], + [, , '180(?:0\\d{3}|2)\\d{3}', , , , '1800123456', , , [7, 10]], + [, , '190[0-26]\\d{6}', , , , '1900123456', , , [10]], + [ + , + , + '13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', + , + , + , + '1300123456', + , + , + [6, 8, 10, 12], + ], + [, , , , , , , , , [-1]], + [, , '14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}', , , , '147101234', , , [9]], + 'AU', + 61, + '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', + '0', + , + , + '0|(183[12])', + , + '0011', + , + [ + [, '(\\d{2})(\\d{3,4})', '$1 $2', ['16'], '0$1'], + [, '(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3', ['13']], + [, '(\\d{3})(\\d{3})', '$1 $2', ['19']], + [, '(\\d{3})(\\d{4})', '$1 $2', ['180', '1802']], + [, '(\\d{4})(\\d{3,4})', '$1 $2', ['19']], + [, '(\\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)', '$CC ($1)'], + [, '(\\d{4})(\\d{3})(\\d{3})', '$1 $2 $3', ['1(?:30|[89])']], + [, '(\\d{4})(\\d{4})(\\d{4})', '$1 $2 $3', ['130']], + ], + [ + [, '(\\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)', '$CC ($1)'], + [, '(\\d{4})(\\d{3})(\\d{3})', '$1 $2 $3', ['1(?:30|[89])']], + ], + [, , '163\\d{2,6}', , , , '1631234', , , [5, 6, 7, 8, 9]], + 1, + , + [ + , + , + '1(?:3(?:00\\d{5}|45[0-4])|802)\\d{3}|1[38]00\\d{6}|13\\d{4}', + , + , + , + , + , + , + [6, 7, 8, 10, 12], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AW: [ + , + [, , '(?:[25-79]\\d\\d|800)\\d{4}', , , , , , , [7]], + [, , '5(?:2\\d|8[1-9])\\d{4}', , , , '5212345'], + [ + , + , + '(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}', + , + , + , + '5601234', + ], + [, , '800\\d{4}', , , , '8001234'], + [, , '900\\d{4}', , , , '9001234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:28\\d|501)\\d{4}', , , , '5011234'], + 'AW', + 297, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[25-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + AX: [ + , + [ + , + , + '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], + ], + [, , '18[1-8]\\d{3,6}', , , , '181234567', , , [6, 7, 8, 9]], + [, , '4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}', , , , '412345678', , , [6, 7, 8, 9, 10]], + [, , '800\\d{4,6}', , , , '800123456', , , [7, 8, 9]], + [, , '[67]00\\d{5,6}', , , , '600123456', , , [8, 9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AX', + 358, + '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))', + '0', + , + , + '0', + , + '00', + , + , + , + [, , , , , , , , , [-1]], + , + '18', + [, , , , , , , , , [-1]], + [ + , + , + '20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}', + , + , + , + '10112345', + ], + , + , + [, , , , , , , , , [-1]], + ], + AZ: [ + , + [, , '365\\d{6}|(?:[124579]\\d|60|88)\\d{7}', , , , , , , [9], [7]], + [ + , + , + '(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}', + , + , + , + '123123456', + , + , + , + [7], + ], + [, , '36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}', , , , '401234567'], + [, , '88\\d{7}', , , , '881234567'], + [, , '900200\\d{3}', , , , '900200123'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'AZ', + 994, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3', ['[1-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'], + ], + [ + [, '(\\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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BA: [ + , + [, , '6\\d{8}|(?:[35689]\\d|49|70)\\d{6}', , , , , , , [8, 9], [6]], + [ + , + , + '(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}', + , + , + , + '30212345', + , + , + [8], + [6], + ], + [, , '6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}', , , , '61123456'], + [, , '8[08]\\d{6}', , , , '80123456', , , [8]], + [, , '9[0246]\\d{6}', , , , '90123456', , , [8]], + [, , '8[12]\\d{6}', , , , '82123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BA', + 387, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{3})', '$1-$2', ['[2-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'], + ], + [ + [, '(\\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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}', , , , '70341234', , , [8]], + , + , + [, , , , , , , , , [-1]], + ], + BB: [ + , + [, , '(?:246|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}', + , + , + , + '2464123456', + , + , + , + [7], + ], + [ + , + , + '246(?:2(?:[3568]\\d|4[0-57-9])|45\\d|69[5-7]|8(?:[2-5]\\d|83))\\d{4}', + , + , + , + '2462501234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '(?:246976|900[2-9]\\d\\d)\\d{4}', , , , '9002123456', , , , [7]], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , '24631\\d{5}', , , , '2463101234', , , , [7]], + 'BB', + 1, + '011', + '1', + , + , + '1|([2-9]\\d{6})$', + '246$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '246', + [, , , , , , , , , [-1]], + [ + , + , + '246(?:292|367|4(?:1[7-9]|3[01]|44|67)|7(?:36|53))\\d{4}', + , + , + , + '2464301234', + , + , + , + [7], + ], + , + , + [, , , , , , , , , [-1]], + ], + BD: [ + , + [ + , + , + '[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], + ], + [ + , + , + '(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:222|[45]\\d)\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}', + , + , + , + '27111234', + ], + [ + , + , + '(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}', + , + , + , + '1812345678', + , + , + [10], + ], + [, , '80[03]\\d{7}', , , , '8001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '96(?:0[469]|1[0-47]|3[389]|6[69]|7[78])\\d{6}', , , , '9604123456', , , [10]], + 'BD', + 880, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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(?:28|4[14]|5)|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]|22'], '0$1'], + [, '(\\d)(\\d{7,8})', '$1-$2', ['2'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BE: [ + , + [, , '4\\d{8}|[1-9]\\d{7}', , , , , , , [8, 9]], + [ + , + , + '80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}', + , + , + , + '12345678', + , + , + [8], + ], + [, , '4[5-9]\\d{7}', , , , '470123456', , , [9]], + [, , '800[1-9]\\d{4}', , , , '80012345', , , [8]], + [ + , + , + '(?:70(?:2[0-57]|3[04-7]|44|69|7[0579])|90(?:0[0-8]|1[36]|2[0-3568]|3[013-689]|[47][2-68]|5[1-68]|6[0-378]|9[34679]))\\d{4}', + , + , + , + '90012345', + , + , + [8], + ], + [, , '7879\\d{4}', , , , '78791234', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BE', + 32, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [ + , + , + '78(?:0[57]|1[0458]|2[25]|3[15-8]|48|[56]0|7[078]|9\\d)\\d{4}', + , + , + , + '78102345', + , + , + [8], + ], + , + , + [, , , , , , , , , [-1]], + ], + BF: [ + , + [, , '[025-7]\\d{7}', , , , , , , [8]], + [ + , + , + '2(?:0(?:49|5[23]|6[56]|9[016-9])|4(?:4[569]|5[4-6]|6[56]|7[0179])|5(?:[34]\\d|50|6[5-7]))\\d{4}', + , + , + , + '20491234', + ], + [, , '(?:0[1267]|5[1-8]|[67]\\d)\\d{6}', , , , '70123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BF', + 226, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[025-7]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BG: [ + , + [, , '[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}', , , , , , , [6, 7, 8, 9], [4, 5]], + [ + , + , + '2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}', + , + , + , + '2123456', + , + , + [6, 7, 8], + [4, 5], + ], + [ + , + , + '43[07-9]\\d{5}|(?:48|8[7-9]\\d|9(?:8\\d|9[69]))\\d{6}', + , + , + , + '48123456', + , + , + [8, 9], + ], + [, , '800\\d{5}', , , , '80012345', , , [8]], + [, , '90\\d{6}', , , , '90123456', , , [8]], + [, , '700\\d{5}', , , , '70012345', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BG', + 359, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{6})', '$1', ['1']], + [, '(\\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'], + ], + [ + [, '(\\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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BH: [ + , + [, , '[136-9]\\d{7}', , , , , , , [8]], + [ + , + , + '(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|7[7-9]|88)|9[69][69])|7(?:1(?:11|78)|7\\d\\d))\\d{4}', + , + , + , + '17001234', + ], + [ + , + , + '(?:3(?:[1-79]\\d|8[0-47-9])\\d|6(?:3(?:00|33|6[16])|6(?:3[03-9]|[69]\\d|7[0-6])))\\d{4}', + , + , + , + '36001234', + ], + [, , '80\\d{6}', , , , '80123456'], + [, , '(?:87|9[014578])\\d{6}', , , , '90123456'], + [, , '84\\d{6}', , , , '84123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BH', + 973, + '00', + , + , + , + , + , + , + , + [[, '(\\d{4})(\\d{4})', '$1 $2', ['[13679]|8[047]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BI: [ + , + [, , '(?:[267]\\d|31)\\d{6}', , , , , , , [8]], + [, , '22\\d{6}', , , , '22201234'], + [, , '(?:29|31|6[1257-9]|7[125-9])\\d{6}', , , , '79561234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BI', + 257, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[2367]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BJ: [ + , + [, , '[25689]\\d{7}', , , , , , , [8]], + [, , '2(?:02|1[037]|2[45]|3[68])\\d{5}', , , , '20211234'], + [, , '(?:5[1-35-8]|6\\d|9[013-9])\\d{6}', , , , '90011234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '857[58]\\d{4}', , , , '85751234'], + 'BJ', + 229, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[25689]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '81\\d{6}', , , , '81123456'], + , + , + [, , , , , , , , , [-1]], + ], + BL: [ + , + [, , '(?:590|(?:69|80)\\d|976)\\d{6}', , , , , , , [9]], + [, , '590(?:2[7-9]|5[12]|87)\\d{4}', , , , '590271234'], + [, , '69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}', , , , '690001234'], + [, , '80[0-5]\\d{6}', , , , '800012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '976[01]\\d{5}', , , , '976012345'], + 'BL', + 590, + '00', + '0', + , + , + '0', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BM: [ + , + [, , '(?:441|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [, , '441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}', , , , '4414123456', , , , [7]], + [, , '441(?:[2378]\\d|5[0-39])\\d{5}', , , , '4413701234', , , , [7]], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'BM', + 1, + '011', + '1', + , + , + '1|([2-8]\\d{6})$', + '441$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '441', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BN: [ + , + [, , '[2-578]\\d{6}', , , , , , , [7]], + [, , '22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}', , , , '2345678'], + [, , '(?:22[89]|[78]\\d\\d)\\d{4}', , , , '7123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '5[34]\\d{5}', , , , '5345678'], + 'BN', + 673, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[2-578]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BO: [ + , + [, , '(?:[2-467]\\d\\d|8001)\\d{5}', , , , , , , [8, 9], [7]], + [ + , + , + '(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}', + , + , + , + '22123456', + , + , + [8], + [7], + ], + [, , '[67]\\d{7}', , , , '71234567', , , [8]], + [, , '8001[07]\\d{4}', , , , '800171234', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BO', + 591, + '00(?:1\\d)?', + '0', + , + , + '0(1\\d)?', + , + , + , + [ + [, '(\\d)(\\d{7})', '$1 $2', ['[23]|4[46]'], , '0$CC $1'], + [, '(\\d{8})', '$1', ['[67]'], , '0$CC $1'], + [, '(\\d{3})(\\d{2})(\\d{4})', '$1 $2 $3', ['8'], , '0$CC $1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '8001[07]\\d{4}', , , , , , , [9]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BQ: [ + , + [, , '(?:[34]1|7\\d)\\d{5}', , , , , , , [7]], + [, , '(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}', , , , '7151234'], + [ + , + , + '(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}', + , + , + , + '3181234', + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BQ', + 599, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '[347]', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BR: [ + , + [ + , + , + '(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-24679]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}', + , + , + , + , + , + , + [8, 9, 10, 11], + ], + [ + , + , + '(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}', + , + , + , + '1123456789', + , + , + [10], + [8], + ], + [ + , + , + '(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}', + , + , + , + '11961234567', + , + , + [10, 11], + [8, 9], + ], + [, , '800\\d{6,7}', , , , '800123456', , , [9, 10]], + [, , '300\\d{6}|[59]00\\d{6,7}', , , , '300123456', , , [9, 10]], + [, , '300\\d{7}|[34]00\\d{5}|4(?:02|37)0\\d{4}', , , , '40041234', , , [8, 10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BR', + 55, + '00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)', + '0', + , + , + '(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?', + '$2', + , + , + [ + [ + , + '(\\d{3,6})', + '$1', + ['1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610'], + ], + [, '(\\d{4})(\\d{4})', '$1-$2', ['300|4(?:0[02]|37)', '4(?:02|37)0|[34]00']], + [, '(\\d{4})(\\d{4})', '$1-$2', ['[2-57]', '[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))']], + [, '(\\d{3})(\\d{2,3})(\\d{4})', '$1 $2 $3', ['(?:[358]|90)0'], '0$1'], + [, '(\\d{5})(\\d{4})', '$1-$2', ['9']], + [ + , + '(\\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)', + '0 $CC ($1)', + ], + [ + , + '(\\d{2})(\\d{5})(\\d{4})', + '$1 $2-$3', + ['[16][1-9]|[2-57-9]'], + '($1)', + '0 $CC ($1)', + ], + ], + [ + [, '(\\d{4})(\\d{4})', '$1-$2', ['300|4(?:0[02]|37)', '4(?:02|37)0|[34]00']], + [, '(\\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)', + '0 $CC ($1)', + ], + [ + , + '(\\d{2})(\\d{5})(\\d{4})', + '$1 $2-$3', + ['[16][1-9]|[2-57-9]'], + '($1)', + '0 $CC ($1)', + ], + ], + [, , , , , , , , , [-1]], + , + , + [, , '4020\\d{4}|[34]00\\d{5}', , , , , , , [8]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BS: [ + , + [, , '(?:242|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-4]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}', + , + , + , + '2423456789', + , + , + , + [7], + ], + [ + , + , + '242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|[89]9))\\d{4}', + , + , + , + '2423591234', + , + , + , + [7], + ], + [, , '242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456', , , , [7]], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'BS', + 1, + '011', + '1', + , + , + '1|([3-8]\\d{6})$', + '242$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '242', + [, , , , , , , , , [-1]], + [, , '242225\\d{4}', , , , '2422250123'], + , + , + [, , , , , , , , , [-1]], + ], + BT: [ + , + [, , '[17]\\d{7}|[2-8]\\d{6}', , , , , , , [7, 8], [6]], + [ + , + , + '(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}', + , + , + , + '2345678', + , + , + [7], + [6], + ], + [, , '(?:1[67]|77)\\d{6}', , , , '17123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BT', + 975, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{3})', '$1 $2', ['[2-7]']], + [, '(\\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']], + ], + [ + [, '(\\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']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BW: [ + , + [, , '(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}', , , , , , , [7, 8, 10]], + [ + , + , + '(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}', + , + , + , + '2401234', + , + , + [7], + ], + [, , '(?:321|7(?:[1-7]\\d|8[01]))\\d{5}', , , , '71123456', , , [8]], + [, , '(?:0800|800\\d)\\d{6}', , , , '0800012345', , , [10]], + [, , '90\\d{5}', , , , '9012345', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '79(?:1(?:[01]\\d|20)|2[0-25-7]\\d)\\d{3}', , , , '79101234', , , [8]], + 'BW', + 267, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{2})(\\d{5})', '$1 $2', ['90']], + [, '(\\d{3})(\\d{4})', '$1 $2', ['[24-6]|3[15-79]']], + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BY: [ + , + [ + , + , + '(?:[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], + [5], + ], + [ + , + , + '(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}', + , + , + , + '152450911', + , + , + [9], + [5, 6, 7], + ], + [, , '(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}', , , , '294911911', , , [9]], + [, , '800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}', , , , '8011234567'], + [, , '(?:810|902)\\d{7}', , , , '9021234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '249\\d{6}', , , , '249123456', , , [9]], + 'BY', + 375, + '810', + '8', + , + , + '0|80?', + , + '8~10', + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '800\\d{3,7}|(?:8(?:0[13]|10|20\\d)|902)\\d{7}'], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + BZ: [ + , + [, , '(?:0800\\d|[2-8])\\d{6}', , , , , , , [7, 11]], + [ + , + , + '(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}', + , + , + , + '2221234', + , + , + [7], + ], + [, , '6[0-35-7]\\d{5}', , , , '6221234', , , [7]], + [, , '0800\\d{7}', , , , '08001234123', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'BZ', + 501, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1-$2', ['[2-8]']], + [, '(\\d)(\\d{3})(\\d{4})(\\d{3})', '$1-$2-$3-$4', ['0']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CA: [ + , + [, , '(?:[2-8]\\d|90)\\d{8}', , , , , , , [10], [7]], + [ + , + , + '(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|74)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}', + , + , + , + '5062345678', + , + , + , + [7], + ], + [ + , + , + '(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|74)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}', + , + , + , + '5062345678', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)|622)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , '600[2-9]\\d{6}', , , , '6002012345'], + 'CA', + 1, + '011', + '1', + , + , + '1', + , + , + 1, + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CC: [ + , + [ + , + , + '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], + ], + [ + , + , + '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}', + , + , + , + '891621234', + , + , + [9], + [8], + ], + [ + , + , + '4(?:83[0-38]|93[0-6])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\d{6}', + , + , + , + '412345678', + , + , + [9], + ], + [, , '180(?:0\\d{3}|2)\\d{3}', , , , '1800123456', , , [7, 10]], + [, , '190[0-26]\\d{6}', , , , '1900123456', , , [10]], + [ + , + , + '13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', + , + , + , + '1300123456', + , + , + [6, 8, 10, 12], + ], + [, , , , , , , , , [-1]], + [, , '14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}', , , , '147101234', , , [9]], + 'CC', + 61, + '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', + '0', + , + , + '0|([59]\\d{7})$', + '8$1', + '0011', + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CD: [ + , + [, , '[189]\\d{8}|[1-68]\\d{6}', , , , , , , [7, 9]], + [, , '12\\d{7}|[1-6]\\d{6}', , , , '1234567'], + [, , '88\\d{5}|(?:8[0-59]|9[017-9])\\d{7}', , , , '991234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CD', + 243, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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{3})(\\d{4})', '$1 $2 $3', ['1'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[89]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CF: [ + , + [, , '(?:[27]\\d{3}|8776)\\d{4}', , , , , , , [8]], + [, , '2[12]\\d{6}', , , , '21612345'], + [, , '7[0257]\\d{6}', , , , '70012345'], + [, , , , , , , , , [-1]], + [, , '8776\\d{4}', , , , '87761234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CF', + 236, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[278]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CG: [ + , + [, , '222\\d{6}|(?:0\\d|80)\\d{7}', , , , , , , [9]], + [, , '222[1-589]\\d{5}', , , , '222123456'], + [ + , + , + '026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}', + , + , + , + '061234567', + ], + [, , , , , , , , , [-1]], + [, , '80(?:0\\d\\d|120)\\d{4}', , , , '800123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CG', + 242, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d)(\\d{4})(\\d{4})', '$1 $2 $3', ['8']], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[02]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CH: [ + , + [, , '8\\d{11}|[2-9]\\d{8}', , , , , , , [9, 12]], + [, , '(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}', , , , '212345678', , , [9]], + [, , '7[35-9]\\d{7}', , , , '781234567', , , [9]], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '90[016]\\d{6}', , , , '900123456', , , [9]], + [, , '84[0248]\\d{6}', , , , '840123456', , , [9]], + [, , '878\\d{6}', , , , '878123456', , , [9]], + [, , , , , , , , , [-1]], + 'CH', + 41, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , '74[0248]\\d{6}', , , , '740123456', , , [9]], + , + , + [, , , , , , , , , [-1]], + [, , '5[18]\\d{7}', , , , '581234567', , , [9]], + , + , + [, , '860\\d{9}', , , , '860123456789', , , [12]], + ], + CI: [ + , + [, , '[02]\\d{9}', , , , , , , [10]], + [ + , + , + '2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|[23][45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}', + , + , + , + '2123456789', + ], + [ + , + , + '0704[0-7]\\d{5}|0(?:[15]\\d\\d|7(?:0[0-37-9]|[4-9][7-9]))\\d{6}', + , + , + , + '0123456789', + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CI', + 225, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CK: [ + , + [, , '[2-578]\\d{4}', , , , , , , [5]], + [, , '(?:2\\d|3[13-7]|4[1-5])\\d{3}', , , , '21234'], + [, , '[578]\\d{4}', , , , '71234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CK', + 682, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{3})', '$1 $2', ['[2-578]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CL: [ + , + [, , '12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}', , , , , , , [9, 10, 11]], + [ + , + , + '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[034]\\d|1[0-35-9]|2[1-9]|5[0-2])|600))|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}', + , + , + , + '221234567', + , + , + [9], + ], + [ + , + , + '2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[034]\\d|1[0-35-9]|2[1-9]|5[0-2])|600))|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}', + , + , + , + '221234567', + , + , + [9], + ], + [, , '(?:123|8)00\\d{6}', , , , '800123456', , , [9, 11]], + [, , , , , , , , , [-1]], + [, , '600\\d{7,8}', , , , '6001234567', , , [10, 11]], + [, , , , , , , , , [-1]], + [, , '44\\d{7}', , , , '441234567', , , [9]], + 'CL', + 56, + '(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0', + , + , + , + , + , + , + 1, + [ + [, '(\\d{4})', '$1', ['1(?:[03-589]|21)|[29]0|78']], + [, '(\\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-3]'], '($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']], + ], + [ + [, '(\\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-3]'], '($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']], + ], + [, , , , , , , , , [-1]], + , + , + [, , '600\\d{7,8}', , , , , , , [10, 11]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CM: [ + , + [, , '[26]\\d{8}|88\\d{6,7}', , , , , , , [8, 9]], + [, , '2(?:22|33)\\d{6}', , , , '222123456', , , [9]], + [, , '(?:24[23]|6[5-9]\\d)\\d{6}', , , , '671234567', , , [9]], + [, , '88\\d{6,7}', , , , '88012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CM', + 237, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CN: [ + , + [ + , + , + '1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}', + , + , + , + , + , + , + [7, 8, 9, 10, 11, 12], + [5, 6], + ], + [ + , + , + '(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754)\\d{7,8}|8(?:078\\d{7}|51\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))', + , + , + , + '1012345678', + , + , + [7, 8, 9, 10, 11], + [5, 6], + ], + [ + , + , + '1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|5[0-35-9]|6[25-7]|7[0-35-8]|9[0135-9])\\d{8}', + , + , + , + '13123456789', + , + , + [11], + ], + [, , '(?:(?:10|21)8|8)00\\d{7}', , , , '8001234567', , , [10, 12]], + [, , '16[08]\\d{5}', , , , '16812345', , , [8]], + [ + , + , + '400\\d{7}|950\\d{7,8}|(?:10|2[0-57-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[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}', + , + , + , + '4001234567', + , + , + [7, 8, 9, 10, 11], + [5, 6], + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CN', + 86, + '00|1(?:[12]\\d|79)\\d\\d00', + '0', + , + , + '0|(1(?:[12]\\d|79)\\d\\d)', + , + '00', + , + [ + [, '(\\d{5,6})', '$1', ['96']], + [ + , + '(\\d{2})(\\d{5,6})', + '$1 $2', + [ + '(?:10|2[0-57-9])[19]', + '(?:10|2[0-57-9])(?:10|9[56])', + '(?:10|2[0-57-9])(?:100|9[56])', + ], + '0$1', + '$CC $1', + ], + [ + , + '(\\d{3})(\\d{4})', + '$1 $2', + [ + '[1-9]', + '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])', + '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])', + ], + ], + [, '(\\d{4})(\\d{4})', '$1 $2', ['16[08]']], + [ + , + '(\\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', + '$CC $1', + ], + [ + , + '(\\d{4})(\\d{4})', + '$1 $2', + [ + '[1-9]', + '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])', + '26|3(?:[0268]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9])|(?:34|85[23])[0-8]|(?:1|58)[1-9]|(?:63|95)[06-9]|(?:33|85[23]9)[0-46-9]|(?:10|2[0-57-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[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])', + '26|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:1|58|85[23]10)[1-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-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[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])', + ], + ], + [, '(\\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', + '$CC $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', + '$CC $1', + 1, + ], + [, '(\\d{3})(\\d{7,8})', '$1 $2', ['9']], + [, '(\\d{4})(\\d{3})(\\d{4})', '$1 $2 $3', ['80'], '0$1', '$CC $1', 1], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['[3-578]'], '0$1', '$CC $1', 1], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['1[3-9]'], , '$CC $1'], + [, '(\\d{2})(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3 $4', ['[12]'], '0$1', , 1], + ], + [ + [ + , + '(\\d{2})(\\d{5,6})', + '$1 $2', + [ + '(?:10|2[0-57-9])[19]', + '(?:10|2[0-57-9])(?:10|9[56])', + '(?:10|2[0-57-9])(?:100|9[56])', + ], + '0$1', + '$CC $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', + '$CC $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', + '$CC $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', + '$CC $1', + 1, + ], + [, '(\\d{3})(\\d{7,8})', '$1 $2', ['9']], + [, '(\\d{4})(\\d{3})(\\d{4})', '$1 $2 $3', ['80'], '0$1', '$CC $1', 1], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['[3-578]'], '0$1', '$CC $1', 1], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['1[3-9]'], , '$CC $1'], + [, '(\\d{2})(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3 $4', ['[12]'], '0$1', , 1], + ], + [, , , , , , , , , [-1]], + , + , + [, , '(?:(?:10|21)8|[48])00\\d{7}|950\\d{7,8}', , , , , , , [10, 11, 12]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CO: [ + , + [, , '(?:(?:1\\d|[36])\\d{3}|9101)\\d{6}|[124-8]\\d{7}', , , , , , , [8, 10, 11], [7]], + [, , '60[124-8][2-9]\\d{6}|[124-8][2-9]\\d{6}', , , , '12345678', , , [8, 10], [7]], + [ + , + , + '3333(?:0(?:0\\d|1[0-5])|[4-9]\\d\\d)\\d{3}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}', + , + , + , + '3211234567', + , + , + [10], + ], + [, , '1800\\d{7}', , , , '18001234567', , , [11]], + [, , '19(?:0[01]|4[78])\\d{7}', , , , '19001234567', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CO', + 57, + '00(?:4(?:[14]4|56)|[579])', + '0', + , + , + '0([3579]|4(?:[14]4|56))?', + , + , + , + [ + [, '(\\d)(\\d{7})', '$1 $2', ['[146][2-9]|[2578]'], '($1)', '0$CC $1'], + [, '(\\d{3})(\\d{7})', '$1 $2', ['6'], '($1)'], + [, '(\\d{3})(\\d{7})', '$1 $2', ['[39]'], , '0$CC $1'], + [, '(\\d)(\\d{3})(\\d{7})', '$1-$2-$3', ['1'], '0$1'], + ], + [ + [, '(\\d)(\\d{7})', '$1 $2', ['[146][2-9]|[2578]'], '($1)', '0$CC $1'], + [, '(\\d{3})(\\d{7})', '$1 $2', ['6'], '($1)'], + [, '(\\d{3})(\\d{7})', '$1 $2', ['[39]'], , '0$CC $1'], + [, '(\\d)(\\d{3})(\\d{7})', '$1 $2 $3', ['1']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CR: [ + , + [, , '(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}', , , , , , , [8, 10]], + [, , '210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}', , , , '22123456', , , [8]], + [ + , + , + '(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}', + , + , + , + '83123456', + , + , + [8], + ], + [, , '800\\d{7}', , , , '8001234567', , , [10]], + [, , '90[059]\\d{7}', , , , '9001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:210[0-6]|4\\d{3}|5100)\\d{4}', , , , '40001234', , , [8]], + 'CR', + 506, + '00', + , + , + , + '(19(?:0[0-2468]|1[09]|20|66|77|99))', + , + , + , + [ + [, '(\\d{4})(\\d{4})', '$1 $2', ['[2-7]|8[3-9]'], , '$CC $1'], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1-$2-$3', ['[89]'], , '$CC $1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CU: [ + , + [, , '[27]\\d{6,7}|[34]\\d{5,7}|(?:5|8\\d\\d)\\d{7}', , , , , , , [6, 7, 8, 10], [4, 5]], + [ + , + , + '(?:3[23]|48)\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}', + , + , + , + '71234567', + , + , + , + [4, 5], + ], + [, , '5\\d{7}', , , , '51234567', , , [8]], + [, , '800\\d{7}', , , , '8001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , '807\\d{7}', , , , '8071234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CU', + 53, + '119', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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', ['5'], '0$1'], + [, '(\\d{3})(\\d{7})', '$1 $2', ['8'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CV: [ + , + [, , '(?:[2-59]\\d\\d|800)\\d{4}', , , , , , , [7]], + [, , '2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}', , , , '2211234'], + [, , '(?:[34][36]|5[1-389]|9\\d)\\d{5}', , , , '9911234'], + [, , '800\\d{4}', , , , '8001234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CV', + 238, + '0', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3', ['[2-589]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CW: [ + , + [, , '(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}', , , , , , , [7, 8]], + [ + , + , + '9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}', + , + , + , + '94351234', + ], + [, , '953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}', , , , '95181234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '60[0-2]\\d{4}', , , , '6001234', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'CW', + 599, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[3467]']], + [, '(\\d)(\\d{3})(\\d{4})', '$1 $2 $3', ['9[4-8]']], + ], + , + [, , '955\\d{5}', , , , '95581234', , , [8]], + 1, + '[69]', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CX: [ + , + [ + , + , + '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], + ], + [ + , + , + '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}', + , + , + , + '891641234', + , + , + [9], + [8], + ], + [ + , + , + '4(?:83[0-38]|93[0-6])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\d{6}', + , + , + , + '412345678', + , + , + [9], + ], + [, , '180(?:0\\d{3}|2)\\d{3}', , , , '1800123456', , , [7, 10]], + [, , '190[0-26]\\d{6}', , , , '1900123456', , , [10]], + [ + , + , + '13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}', + , + , + , + '1300123456', + , + , + [6, 8, 10, 12], + ], + [, , , , , , , , , [-1]], + [, , '14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}', , , , '147101234', , , [9]], + 'CX', + 61, + '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', + '0', + , + , + '0|([59]\\d{7})$', + '8$1', + '0011', + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + CY: [ + , + [, , '(?:[279]\\d|[58]0)\\d{6}', , , , , , , [8]], + [, , '2[2-6]\\d{6}', , , , '22345678'], + [, , '9[4-79]\\d{6}', , , , '96123456'], + [, , '800\\d{5}', , , , '80001234'], + [, , '90[09]\\d{5}', , , , '90012345'], + [, , '80[1-9]\\d{5}', , , , '80112345'], + [, , '700\\d{5}', , , , '70012345'], + [, , , , , , , , , [-1]], + 'CY', + 357, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{6})', '$1 $2', ['[257-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '(?:50|77)\\d{6}', , , , '77123456'], + , + , + [, , , , , , , , , [-1]], + ], + CZ: [ + , + [, , '(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}', , , , , , , [9, 10, 11, 12]], + [, , '(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}', , , , '212345678', , , [9]], + [, , '(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}', , , , '601123456', , , [9]], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '9(?:0[05689]|76)\\d{6}', , , , '900123456', , , [9]], + [, , '8[134]\\d{7}', , , , '811234567', , , [9]], + [, , '70[01]\\d{6}', , , , '700123456', , , [9]], + [, , '9[17]0\\d{6}', , , , '910123456', , , [9]], + 'CZ', + 420, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '9(?:5\\d|7[2-4])\\d{6}', , , , '972123456', , , [9]], + , + , + [, , '9(?:3\\d{9}|6\\d{7,10})', , , , '93123456789'], + ], + DE: [ + , + [ + , + , + '[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:1\\d|2[02-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[05]\\d|[23]1|[46][1-8])\\d{1,9}', + , + , + , + , + , + , + [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], + [2, 3], + ], + [ + , + , + '32\\d{9,11}|49[2-6]\\d{10}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}', + , + , + , + '30123456', + , + , + [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], + [2, 3, 4], + ], + [, , '15[0-25-9]\\d{8}|1(?:6[023]|7\\d)\\d{7,8}', , , , '15123456789', , , [10, 11]], + [, , '800\\d{7,12}', , , , '8001234567890', , , [10, 11, 12, 13, 14, 15]], + [, , '(?:137[7-9]|900(?:[135]|9\\d))\\d{6}', , , , '9001234567', , , [10, 11]], + [ + , + , + '180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}', + , + , + , + '18012345', + , + , + [7, 8, 9, 10, 11, 12, 13, 14], + ], + [, , '700\\d{8}', , , , '70012345678', , , [11]], + [, , , , , , , , , [-1]], + 'DE', + 49, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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{5})(\\d{6})', '$1 $2', ['15[0568]'], '0$1'], + [, '(\\d{4})(\\d{7})', '$1 $2', ['15[1279]'], '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'], + ], + , + [ + , + , + '16(?:4\\d{1,10}|[89]\\d{1,11})', + , + , + , + '16412345', + , + , + [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], + ], + , + , + [, , , , , , , , , [-1]], + [, , '18(?:1\\d{5,11}|[2-9]\\d{8})', , , , '18500123456', , , [8, 9, 10, 11, 12, 13, 14]], + , + , + [ + , + , + '1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d{7,8}|15(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)\\d{7}', + , + , + , + '177991234567', + , + , + [12, 13], + ], + ], + DJ: [ + , + [, , '(?:2\\d|77)\\d{6}', , , , , , , [8]], + [, , '2(?:1[2-5]|7[45])\\d{5}', , , , '21360003'], + [, , '77\\d{6}', , , , '77831001'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'DJ', + 253, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[27]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + DK: [ + , + [, , '[2-9]\\d{7}', , , , , , , [8]], + [, , '(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}', , , , '32123456'], + [, , '(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}', , , , '32123456'], + [, , '80\\d{6}', , , , '80123456'], + [, , '90\\d{6}', , , , '90123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'DK', + 45, + '00', + , + , + , + , + , + , + 1, + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[2-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + DM: [ + , + [, , '(?:[58]\\d\\d|767|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}', + , + , + , + '7674201234', + , + , + , + [7], + ], + [ + , + , + '767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}', + , + , + , + '7672251234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'DM', + 1, + '011', + '1', + , + , + '1|([2-7]\\d{6})$', + '767$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '767', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + DO: [ + , + [, , '(?:[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}', + , + , + , + '8092345678', + , + , + , + [7], + ], + [, , '8[024]9[2-9]\\d{6}', , , , '8092345678', , , , [7]], + [, , '8(?:00(?:14|[2-9]\\d)|(?:33|44|55|66|77|88)[2-9]\\d)\\d{5}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'DO', + 1, + '011', + '1', + , + , + '1', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '8001|8[024]9', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + DZ: [ + , + [, , '(?:[1-4]|[5-79]\\d|80)\\d{7}', , , , , , , [8, 9]], + [, , '9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[0135689])\\d{6}', , , , '12345678'], + [ + , + , + '(?:5(?:4[0-29]|5\\d|6[0-2])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}', + , + , + , + '551234567', + , + , + [9], + ], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '80[3-689]1\\d{5}', , , , '808123456', , , [9]], + [, , '80[12]1\\d{5}', , , , '801123456', , , [9]], + [, , , , , , , , , [-1]], + [, , '98[23]\\d{6}', , , , '983123456', , , [9]], + 'DZ', + 213, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + EC: [ + , + [, , '1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}', , , , , , , [8, 9, 10, 11], [7]], + [, , '[2-7][2-7]\\d{6}', , , , '22123456', , , [8], [7]], + [ + , + , + '964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}', + , + , + , + '991234567', + , + , + [9], + ], + [, , '1800\\d{7}|1[78]00\\d{6}', , , , '18001234567', , , [10, 11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '[2-7]890\\d{4}', , , , '28901234', , , [8]], + 'EC', + 593, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1-$2', ['[2-7]']], + [, '(\\d)(\\d{3})(\\d{4})', '$1 $2-$3', ['[2-7]'], '(0$1)'], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['9'], '0$1'], + [, '(\\d{4})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['1']], + ], + [ + [, '(\\d)(\\d{3})(\\d{4})', '$1-$2-$3', ['[2-7]']], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['9'], '0$1'], + [, '(\\d{4})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['1']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + EE: [ + , + [, , '8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}', , , , , , , [7, 8, 10]], + [, , '(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}', , , , '3212345', , , [7]], + [ + , + , + '(?:5\\d{5}|8(?:1(?:0(?:000|[3-9]\\d\\d)|(?:1(?:0[236]|1\\d)|(?:23|[3-79]\\d)\\d)\\d)|2(?:0(?:000|(?:19|[24-7]\\d)\\d)|(?:(?:[124-6]\\d|3[5-9])\\d|7(?:[679]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', + , + , + , + '51234567', + , + , + [7, 8], + ], + [, , '800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}', , , , '80012345'], + [, , '(?:40\\d\\d|900)\\d{4}', , , , '9001234', , , [7, 8]], + [, , , , , , , , , [-1]], + [, , '70[0-2]\\d{5}', , , , '70012345', , , [8]], + [, , , , , , , , , [-1]], + 'EE', + 372, + '00', + , + , + , + , + , + , + , + [ + [ + , + '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '800[2-9]\\d{3}', , , , , , , [7]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + EG: [ + , + [, , '[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}', , , , , , , [8, 9, 10], [6, 7]], + [ + , + , + '13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}', + , + , + , + '234567890', + , + , + [8, 9], + [6, 7], + ], + [, , '1[0-25]\\d{8}', , , , '1001234567', , , [10]], + [, , '800\\d{7}', , , , '8001234567', , , [10]], + [, , '900\\d{7}', , , , '9001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'EG', + 20, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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', ['[189]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + EH: [ + , + [, , '[5-8]\\d{8}', , , , , , , [9]], + [, , '528[89]\\d{5}', , , , '528812345'], + [, , '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|6[0-367]))\\d{6}', , , , '650123456'], + [, , '80\\d{7}', , , , '801234567'], + [, , '89\\d{7}', , , , '891234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '592(?:4[0-2]|93)\\d{4}', , , , '592401234'], + 'EH', + 212, + '00', + '0', + , + , + '0', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '528[89]', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + ER: [ + , + [, , '[178]\\d{6}', , , , , , , [7], [6]], + [, , '(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}', , , , '8370362', , , , [6]], + [, , '(?:17[1-3]|7\\d\\d)\\d{4}', , , , '7123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'ER', + 291, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d)(\\d{3})(\\d{3})', '$1 $2 $3', ['[178]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + ES: [ + , + [, , '[5-9]\\d{8}', , , , , , , [9]], + [ + , + , + '96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}', + , + , + , + '810123456', + ], + [ + , + , + '(?:590[16]00\\d|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d|(?:6\\d|7[1-48])\\d{7}', + , + , + , + '612345678', + ], + [, , '[89]00\\d{6}', , , , '800123456'], + [, , '80[367]\\d{6}', , , , '803123456'], + [, , '90[12]\\d{6}', , , , '901123456'], + [, , '70\\d{7}', , , , '701234567'], + [, , , , , , , , , [-1]], + 'ES', + 34, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4})', '$1', ['905']], + [, '(\\d{6})', '$1', ['[79]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]']], + ], + [ + [, '(\\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]']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '51\\d{7}', , , , '511234567'], + , + , + [, , , , , , , , , [-1]], + ], + ET: [ + , + [, , '(?:11|[2-59]\\d)\\d{7}', , , , , , , [9], [7]], + [ + , + , + '11667[01]\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[78]|2[69]|39|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', + , + , + , + '111112345', + , + , + , + [7], + ], + [, , '9\\d{8}', , , , '911234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'ET', + 251, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[1-59]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + FI: [ + , + [ + , + , + '[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], + ], + [, , '(?:1[3-79][1-8]|[235689][1-8]\\d)\\d{2,6}', , , , '131234567', , , [5, 6, 7, 8, 9]], + [, , '4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}', , , , '412345678', , , [6, 7, 8, 9, 10]], + [, , '800\\d{4,6}', , , , '800123456', , , [7, 8, 9]], + [, , '[67]00\\d{5,6}', , , , '600123456', , , [8, 9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'FI', + 358, + '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))', + '0', + , + , + '0', + , + '00', + , + [ + [, '(\\d{5})', '$1', ['75[12]'], '0$1'], + [, '(\\d)(\\d{4,9})', '$1 $2', ['[2568][1-8]|3(?:0[1-9]|[1-9])|9'], '0$1'], + [, '(\\d{6})', '$1', ['11']], + [, '(\\d{3})(\\d{3,7})', '$1 $2', ['[12]00|[368]|70[07-9]'], '0$1'], + [, '(\\d{2})(\\d{4,8})', '$1 $2', ['[1245]|7[135]'], '0$1'], + [, '(\\d{2})(\\d{6,10})', '$1 $2', ['7'], '0$1'], + ], + [ + [, '(\\d)(\\d{4,9})', '$1 $2', ['[2568][1-8]|3(?:0[1-9]|[1-9])|9'], '0$1'], + [, '(\\d{3})(\\d{3,7})', '$1 $2', ['[12]00|[368]|70[07-9]'], '0$1'], + [, '(\\d{2})(\\d{4,8})', '$1 $2', ['[1245]|7[135]'], '0$1'], + [, '(\\d{2})(\\d{6,10})', '$1 $2', ['7'], '0$1'], + ], + [, , , , , , , , , [-1]], + 1, + '1[03-79]|[2-9]', + [ + , + , + '20(?:2[023]|9[89])\\d{1,6}|(?:60[12]\\d|7099)\\d{4,5}|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:[1-3]00|7(?:0[1-5]\\d\\d|5[03-9]))\\d{3,7}', + ], + [ + , + , + '20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}', + , + , + , + '10112345', + ], + , + , + [, , , , , , , , , [-1]], + ], + FJ: [ + , + [, , '45\\d{5}|(?:0800\\d|[235-9])\\d{6}', , , , , , , [7, 11]], + [, , '603\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\d{5}', , , , '3212345', , , [7]], + [, , '(?:[279]\\d|45|5[01568]|8[034679])\\d{5}', , , , '7012345', , , [7]], + [, , '0800\\d{7}', , , , '08001234567', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'FJ', + 679, + '0(?:0|52)', + , + , + , + , + , + '00', + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[235-9]|45']], + [, '(\\d{4})(\\d{3})(\\d{4})', '$1 $2 $3', ['0']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + FK: [ + , + [, , '[2-7]\\d{4}', , , , , , , [5]], + [, , '[2-47]\\d{4}', , , , '31234'], + [, , '[56]\\d{4}', , , , '51234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'FK', + 500, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + FM: [ + , + [, , '(?:[39]\\d\\d|820)\\d{4}', , , , , , , [7]], + [ + , + , + '31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}', + , + , + , + '3201234', + ], + [ + , + , + '31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}', + , + , + , + '3501234', + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'FM', + 691, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[389]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + FO: [ + , + [, , '[2-9]\\d{5}', , , , , , , [6]], + [, , '(?:20|[34]\\d|8[19])\\d{4}', , , , '201234'], + [, , '(?:[27][1-9]|5\\d|91)\\d{4}', , , , '211234'], + [, , '80[257-9]\\d{3}', , , , '802123'], + [, , '90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d', , , , '901123'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:6[0-36]|88)\\d{4}', , , , '601234'], + 'FO', + 298, + '00', + , + , + , + '(10(?:01|[12]0|88))', + , + , + , + [[, '(\\d{6})', '$1', ['[2-9]'], , '$CC $1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + FR: [ + , + [, , '[1-9]\\d{8}', , , , , , , [9]], + [, , '(?:[1-35]\\d|4[1-9])\\d{7}', , , , '123456789'], + [, , '(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7(?:00|[3-9]\\d))\\d{6}', , , , '612345678'], + [, , '80[0-5]\\d{6}', , , , '801234567'], + [ + , + , + '836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}', + , + , + , + '891123456', + ], + [, , '8(?:1[01]|2[0156]|84)\\d{6}', , , , '884012345'], + [, , , , , , , , , [-1]], + [, , '9\\d{8}', , , , '912345678'], + 'FR', + 33, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{4})', '$1', ['10']], + [, '(\\d{3})(\\d{3})', '$1 $2', ['1']], + [, '(\\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'], + ], + [ + [, '(\\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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '80[6-9]\\d{6}', , , , '806123456'], + , + , + [, , , , , , , , , [-1]], + ], + GA: [ + , + [, , '(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}', , , , , , , [7, 8]], + [, , '[01]1\\d{6}', , , , '01441234', , , [8]], + [ + , + , + '(?:(?:0[2-7]\\d|6(?:0[0-4]|10|[256]\\d))\\d|7(?:[47]\\d\\d|658))\\d{4}|[2-7]\\d{6}', + , + , + , + '06031234', + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GA', + 241, + '00', + , + , + , + '0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[47]\\d{6}|76\\d{6})', + '$1', + , + , + [ + [, '(\\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', ['11|[67]'], '0$1'], + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['0']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GB: [ + , + [, , '[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}', , , , , , , [7, 9, 10], [4, 5, 6, 8]], + [ + , + , + '(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[0359])|(?:5[0-26-9]|[78][0-49])\\d\\d|6(?:[0-4]\\d\\d|50[0-24-69]))|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\\d|1(?:[0-7]\\d\\d|8(?:[02]\\d|1[0-278])))|(?: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}', + , + , + , + '1212345678', + , + , + [9, 10], + [4, 5, 6, 7, 8], + ], + [ + , + , + '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}', + , + , + , + '7400123456', + , + , + [10], + ], + [, , '80[08]\\d{7}|800\\d{6}|8001111', , , , '8001234567'], + [ + , + , + '(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d', + , + , + , + '9012345678', + , + , + [7, 10], + ], + [, , , , , , , , , [-1]], + [, , '70\\d{8}', , , , '7012345678', , , [10]], + [, , '56\\d{8}', , , , '5612345678', , , [10]], + 'GB', + 44, + '00', + '0', + ' x', + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [ + , + , + '76(?:464|652)\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\d{6}', + , + , + , + '7640123456', + , + , + [10], + ], + 1, + , + [, , , , , , , , , [-1]], + [, , '(?:3[0347]|55)\\d{8}', , , , '5512345678', , , [10]], + , + , + [, , , , , , , , , [-1]], + ], + GD: [ + , + [, , '(?:473|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}', + , + , + , + '4732691234', + , + , + , + [7], + ], + [ + , + , + '473(?:4(?:0[2-79]|1[04-9]|2[0-5]|58)|5(?:2[01]|3[3-8])|901)\\d{4}', + , + , + , + '4734031234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'GD', + 1, + '011', + '1', + , + , + '1|([2-9]\\d{6})$', + '473$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '473', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GE: [ + , + [, , '(?:[3-57]\\d\\d|800)\\d{6}', , , , , , , [9], [6, 7]], + [ + , + , + '(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}', + , + , + , + '322123456', + , + , + , + [6, 7], + ], + [ + , + , + '5(?:(?:0555|1177)[5-9]|757(?:7[7-9]|8[01]))\\d{3}|5(?:0070|(?:11|33)33|[25]222)[0-4]\\d{3}|5(?:00(?:0\\d|50)|11(?:00|1\\d|2[0-4])|5200|75(?:00|[57]5)|8(?:0(?:[01]\\d|2[0-4])|58[89]|8(?:55|88)))\\d{4}|(?:5(?:[14]4|5[0157-9]|68|7[0147-9]|9[1-35-9])|790)\\d{6}', + , + , + , + '555123456', + ], + [, , '800\\d{6}', , , , '800123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '70[67]\\d{6}', , , , '706123456'], + 'GE', + 995, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '70[67]\\d{6}'], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GF: [ + , + [, , '(?:[56]94|80\\d|976)\\d{6}', , , , , , , [9]], + [, , '594(?:[023]\\d|1[01]|4[03-9]|5[6-9]|6[0-3]|80|9[0-4])\\d{4}', , , , '594101234'], + [, , '694(?:[0-249]\\d|3[0-48])\\d{4}', , , , '694201234'], + [, , '80[0-5]\\d{6}', , , , '800012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '976\\d{6}', , , , '976012345'], + 'GF', + 594, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[569]'], '0$1'], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['8'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GG: [ + , + [, , '(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?', , , , , , , [7, 9, 10], [6]], + [, , '1481[25-9]\\d{5}', , , , '1481256789', , , [10], [6]], + [, , '7(?:(?:781|839)\\d|911[17])\\d{5}', , , , '7781123456', , , [10]], + [, , '80[08]\\d{7}|800\\d{6}|8001111', , , , '8001234567'], + [ + , + , + '(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d', + , + , + , + '9012345678', + , + , + [7, 10], + ], + [, , , , , , , , , [-1]], + [, , '70\\d{8}', , , , '7012345678', , , [10]], + [, , '56\\d{8}', , , , '5612345678', , , [10]], + 'GG', + 44, + '00', + '0', + , + , + '0|([25-9]\\d{5})$', + '1481$1', + , + , + , + , + [ + , + , + '76(?:464|652)\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\d{6}', + , + , + , + '7640123456', + , + , + [10], + ], + , + , + [, , , , , , , , , [-1]], + [, , '(?:3[0347]|55)\\d{8}', , , , '5512345678', , , [10]], + , + , + [, , , , , , , , , [-1]], + ], + GH: [ + , + [, , '(?:[235]\\d{3}|800)\\d{5}', , , , , , , [8, 9], [7]], + [ + , + , + '3082[0-5]\\d{4}|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}', + , + , + , + '302345678', + , + , + [9], + [7], + ], + [ + , + , + '(?:2(?:[0346-8]\\d|5[67])|5(?:[0457]\\d|6[01]|9[1-9]))\\d{6}', + , + , + , + '231234567', + , + , + [9], + ], + [, , '800\\d{5}', , , , '80012345', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GH', + 233, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[237]|8[0-2]']], + [, '(\\d{3})(\\d{5})', '$1 $2', ['8'], '0$1'], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[235]'], '0$1'], + ], + [ + [, '(\\d{3})(\\d{5})', '$1 $2', ['8'], '0$1'], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[235]'], '0$1'], + ], + [, , , , , , , , , [-1]], + , + , + [, , '800\\d{5}', , , , , , , [8]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GI: [ + , + [, , '(?:[25]\\d\\d|606)\\d{5}', , , , , , , [8]], + [, , '21(?:6[24-7]\\d|90[0-2])\\d{3}|2(?:00|2[25])\\d{5}', , , , '20012345'], + [, , '(?:5[146-8]\\d|606)\\d{5}', , , , '57123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GI', + 350, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{5})', '$1 $2', ['2']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GL: [ + , + [, , '(?:19|[2-689]\\d|70)\\d{4}', , , , , , , [6]], + [, , '(?:19|3[1-7]|6[14689]|70|8[14-79]|9\\d)\\d{4}', , , , '321000'], + [, , '[245]\\d{5}', , , , '221234'], + [, , '80\\d{4}', , , , '801234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '3[89]\\d{4}', , , , '381234'], + 'GL', + 299, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3', ['19|[2-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GM: [ + , + [, , '[2-9]\\d{6}', , , , , , , [7]], + [ + , + , + '(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}', + , + , + , + '5661234', + ], + [, , '(?:[23679]\\d|5[0-389])\\d{5}', , , , '3012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GM', + 220, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[2-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GN: [ + , + [, , '722\\d{6}|(?:3|6\\d)\\d{7}', , , , , , , [8, 9]], + [ + , + , + '3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}', + , + , + , + '30241234', + , + , + [8], + ], + [, , '6[0-356]\\d{7}', , , , '601123456', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '722\\d{6}', , , , '722123456', , , [9]], + 'GN', + 224, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GP: [ + , + [, , '(?:590|(?:69|80)\\d|976)\\d{6}', , , , , , , [9]], + [ + , + , + '590(?:0[1-68]|1[0-24]|2[0-68]|3[1289]|4[0-24-9]|5[3-579]|6[0189]|7[08]|8[0-689]|9\\d)\\d{4}', + , + , + , + '590201234', + ], + [, , '69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}', , , , '690001234'], + [, , '80[0-5]\\d{6}', , , , '800012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '976[01]\\d{5}', , , , '976012345'], + 'GP', + 590, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[569]'], '0$1'], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['8'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + 1, + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GQ: [ + , + [, , '222\\d{6}|(?:3\\d|55|[89]0)\\d{7}', , , , , , , [9]], + [, , '33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}', , , , '333091234'], + [, , '(?:222|55\\d)\\d{6}', , , , '222123456'], + [, , '80\\d[1-9]\\d{5}', , , , '800123456'], + [, , '90\\d[1-9]\\d{5}', , , , '900123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GQ', + 240, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[235]']], + [, '(\\d{3})(\\d{6})', '$1 $2', ['[89]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GR: [ + , + [, , '5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}', , , , , , , [10, 11, 12]], + [ + , + , + '2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}', + , + , + , + '2123456789', + , + , + [10], + ], + [, , '68[57-9]\\d{7}|(?:69|94)\\d{8}', , , , '6912345678', , , [10]], + [, , '800\\d{7,9}', , , , '8001234567'], + [, , '90[19]\\d{7}', , , , '9091234567', , , [10]], + [, , '8(?:0[16]|12|[27]5|50)\\d{7}', , , , '8011234567', , , [10]], + [, , '70\\d{8}', , , , '7012345678', , , [10]], + [, , , , , , , , , [-1]], + 'GR', + 30, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '5005000\\d{3}', , , , '5005000123', , , [10]], + , + , + [, , , , , , , , , [-1]], + ], + GT: [ + , + [, , '(?:1\\d{3}|[2-7])\\d{7}', , , , , , , [8, 11]], + [, , '[267][2-9]\\d{6}', , , , '22456789', , , [8]], + [, , '[3-5]\\d{7}', , , , '51234567', , , [8]], + [, , '18[01]\\d{8}', , , , '18001112222', , , [11]], + [, , '19\\d{9}', , , , '19001112222', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GT', + 502, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4})(\\d{4})', '$1 $2', ['[2-7]']], + [, '(\\d{4})(\\d{3})(\\d{4})', '$1 $2 $3', ['1']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GU: [ + , + [, , '(?:[58]\\d\\d|671|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', + , + , + , + '6713001234', + , + , + , + [7], + ], + [ + , + , + '671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', + , + , + , + '6713001234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'GU', + 1, + '011', + '1', + , + , + '1|([3-9]\\d{6})$', + '671$1', + , + 1, + , + , + [, , , , , , , , , [-1]], + , + '671', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GW: [ + , + [, , '[49]\\d{8}|4\\d{6}', , , , , , , [7, 9]], + [, , '443\\d{6}', , , , '443201234', , , [9]], + [, , '9(?:5\\d|6[569]|77)\\d{6}', , , , '955012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '40\\d{5}', , , , '4012345', , , [7]], + 'GW', + 245, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['40']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[49]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + GY: [ + , + [, , '9008\\d{3}|(?:[2-467]\\d\\d|862)\\d{4}', , , , , , , [7]], + [ + , + , + '(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-24-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|77[1-57])\\d{4}', + , + , + , + '2201234', + ], + [, , '(?:6\\d\\d|70[015-7])\\d{4}', , , , '6091234'], + [, , '(?:289|862)\\d{4}', , , , '2891234'], + [, , '9008\\d{3}', , , , '9008123'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'GY', + 592, + '001', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[2-46-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + HK: [ + , + [ + , + , + '8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}', + , + , + , + , + , + , + [5, 6, 7, 8, 9, 11], + ], + [ + , + , + '(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|5[0-5]|9\\d))|58(?:0[1-8]|1[2-9]))\\d{4}', + , + , + , + '21234567', + , + , + [8], + ], + [ + , + , + '(?:46(?:[07][0-7]|1[0-6]|4[0-57-9]|6[0-4])|573[0-6]|6(?:26[013-8]|66[0-3])|70(?:7[1-5]|8[0-4])|848[015-9]|929[03-9])\\d{4}|(?:4(?:40|6[2358])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-24679])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|84[09]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', + , + , + , + '51234567', + , + , + [8], + ], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '900(?:[0-24-9]\\d{7}|3\\d{1,4})', , , , '90012345678', , , [5, 6, 7, 8, 11]], + [, , , , , , , , , [-1]], + [ + , + , + '8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}', + , + , + , + '81123456', + , + , + [8], + ], + [, , , , , , , , , [-1]], + 'HK', + 852, + '00(?:30|5[09]|[126-9]?)', + , + , + , + , + , + '00', + , + [ + [, '(\\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']], + ], + , + [ + , + , + '7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}', + , + , + , + '71123456', + , + , + [8], + ], + , + , + [, , , , , , , , , [-1]], + [, , '30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}', , , , '30161234', , , [8]], + , + , + [, , , , , , , , , [-1]], + ], + HN: [ + , + [, , '8\\d{10}|[237-9]\\d{7}', , , , , , , [8, 11]], + [ + , + , + '2(?:2(?:0[0-39]|1[1-367]|[23]\\d|4[03-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[78]|2[3-59]|3[13-9]|4[0-68]|5[1-35])|5(?:0[7-9]|16|4[03-5]|5\\d|6[014-6]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}', + , + , + , + '22123456', + , + , + [8], + ], + [, , '[37-9]\\d{7}', , , , '91234567', , , [8]], + [, , '8002\\d{7}', , , , '80021234567', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'HN', + 504, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4})(\\d{4})', '$1-$2', ['[237-9]']], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['8']], + ], + [[, '(\\d{4})(\\d{4})', '$1-$2', ['[237-9]']]], + [, , , , , , , , , [-1]], + , + , + [, , '8002\\d{7}', , , , , , , [11]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + HR: [ + , + [ + , + , + '(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}', + , + , + , + , + , + , + [6, 7, 8, 9], + ], + [ + , + , + '1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}', + , + , + , + '12345678', + , + , + [8, 9], + [6, 7], + ], + [ + , + , + '9(?:751\\d{5}|8\\d{6,7})|9(?:0[1-9]|[1259]\\d|7[0679])\\d{6}', + , + , + , + '921234567', + , + , + [8, 9], + ], + [, , '80[01]\\d{4,6}', , , , '800123456', , , [7, 8, 9]], + [, , '6[01459]\\d{6}|6[01]\\d{4,5}', , , , '611234', , , [6, 7, 8]], + [, , , , , , , , , [-1]], + [, , '7[45]\\d{6}', , , , '74123456', , , [8]], + [, , , , , , , , , [-1]], + 'HR', + 385, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{2})(\\d{2,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', ['[67]'], '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-5]'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['8'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '62\\d{6,7}|72\\d{6}', , , , '62123456', , , [8, 9]], + , + , + [, , , , , , , , , [-1]], + ], + HT: [ + , + [, , '[2-489]\\d{7}', , , , , , , [8]], + [, , '2(?:2\\d|5[1-5]|81|9[149])\\d{5}', , , , '22453300'], + [, , '[34]\\d{7}', , , , '34101234'], + [, , '8\\d{7}', , , , '80012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}', , , , '98901234'], + 'HT', + 509, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{4})', '$1 $2 $3', ['[2-489]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + HU: [ + , + [, , '[235-7]\\d{8}|[1-9]\\d{7}', , , , , , , [8, 9], [6, 7]], + [ + , + , + '(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}', + , + , + , + '12345678', + , + , + [8], + [6, 7], + ], + [, , '(?:[257]0|3[01])\\d{7}', , , , '201234567', , , [9]], + [, , '(?:[48]0\\d|680[29])\\d{5}', , , , '80123456'], + [, , '9[01]\\d{6}', , , , '90123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '21\\d{7}', , , , '211234567', , , [9]], + 'HU', + 36, + '00', + '06', + , + , + '06', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '(?:[48]0\\d|680[29])\\d{5}'], + [, , '38\\d{7}', , , , '381234567', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + ID: [ + , + [ + , + , + '(?:(?:00[1-9]|8\\d)\\d{4}|[1-36])\\d{6}|00\\d{10}|[1-9]\\d{8,10}|[2-9]\\d{7}', + , + , + , + , + , + , + [7, 8, 9, 10, 11, 12, 13], + [5, 6], + ], + [ + , + , + '2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}', + , + , + , + '218350123', + , + , + [7, 8, 9, 10, 11], + [5, 6], + ], + [, , '8[1-35-9]\\d{7,10}', , , , '812345678', , , [9, 10, 11, 12]], + [ + , + , + '00[17]803\\d{7}|(?:177\\d|800)\\d{5,7}|001803\\d{6}', + , + , + , + '8001234567', + , + , + [8, 9, 10, 11, 12, 13], + ], + [, , '809\\d{7}', , , , '8091234567', , , [10]], + [, , '804\\d{7}', , , , '8041234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'ID', + 62, + '00[89]', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + [, '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3 $4', ['001']], + [, '(\\d{2})(\\d{4})(\\d{3})(\\d{4})', '$1 $2 $3 $4', ['0']], + ], + [ + [, '(\\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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , '001803\\d{6,7}|(?:007803\\d|8071)\\d{6}', , , , , , , [10, 12, 13]], + [, , '(?:1500|8071\\d{3})\\d{3}', , , , '8071123456', , , [7, 10]], + , + , + [, , , , , , , , , [-1]], + ], + IE: [ + , + [ + , + , + '(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}', + , + , + , + , + , + , + [7, 8, 9, 10], + [5, 6], + ], + [ + , + , + '(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}', + , + , + , + '2212345', + , + , + , + [5, 6], + ], + [, , '8(?:22|[35-9]\\d)\\d{6}', , , , '850123456', , , [9]], + [, , '1800\\d{6}', , , , '1800123456', , , [10]], + [, , '15(?:1[2-8]|[2-8]0|9[089])\\d{6}', , , , '1520123456', , , [10]], + [, , '18[59]0\\d{6}', , , , '1850123456', , , [10]], + [, , '700\\d{6}', , , , '700123456', , , [9]], + [, , '76\\d{7}', , , , '761234567', , , [9]], + 'IE', + 353, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '18[59]0\\d{6}', , , , , , , [10]], + [, , '818\\d{6}', , , , '818123456', , , [9]], + , + , + [ + , + , + '88210[1-9]\\d{4}|8(?:[35-79]5\\d\\d|8(?:[013-9]\\d\\d|2(?:[01][1-9]|[2-9]\\d)))\\d{5}', + , + , + , + '8551234567', + , + , + [10], + ], + ], + IL: [ + , + [, , '1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}', , , , , , , [7, 8, 9, 10, 11, 12]], + [ + , + , + '153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}', + , + , + , + '21234567', + , + , + [8, 11, 12], + [7], + ], + [ + , + , + '5(?:(?:[02368]\\d|[19][2-9]|4[1-9])\\d|5(?:01|1[79]|2[2-9]|3[0-3]|4[34]|5[015689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', + , + , + , + '502345678', + , + , + [9], + ], + [, , '1(?:255|80[019]\\d{3})\\d{3}', , , , '1800123456', , , [7, 10]], + [, , '1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}', , , , '1919123456', , , [8, 10]], + [, , '1700\\d{6}', , , , '1700123456', , , [10]], + [, , , , , , , , , [-1]], + [ + , + , + '7(?:380|8(?:33|55|77|81))\\d{5}|7(?:18|2[23]|3[237]|47|6[58]|7\\d|82|9[235-9])\\d{6}', + , + , + , + '771234567', + , + , + [9], + ], + 'IL', + 972, + '0(?:0|1[2-9])', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '1700\\d{6}', , , , , , , [10]], + [, , '1599\\d{6}', , , , '1599123456', , , [10]], + , + , + [, , '151\\d{8,9}', , , , '15112340000', , , [11, 12]], + ], + IM: [ + , + [, , '1624\\d{6}|(?:[3578]\\d|90)\\d{8}', , , , , , , [10], [6]], + [, , '1624(?:230|[5-8]\\d\\d)\\d{3}', , , , '1624756789', , , , [6]], + [, , '76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}', , , , '7924123456'], + [, , '808162\\d{4}', , , , '8081624567'], + [ + , + , + '8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}', + , + , + , + '9016247890', + ], + [, , , , , , , , , [-1]], + [, , '70\\d{8}', , , , '7012345678'], + [, , '56\\d{8}', , , , '5612345678'], + 'IM', + 44, + '00', + '0', + , + , + '0|([25-8]\\d{5})$', + '1624$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '74576|(?:16|7[56])24', + [, , , , , , , , , [-1]], + [ + , + , + '3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}', + , + , + , + '5512345678', + ], + , + , + [, , , , , , , , , [-1]], + ], + IN: [ + , + [ + , + , + '(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}', + , + , + , + , + , + , + [8, 9, 10, 11, 12, 13], + [6, 7], + ], + [ + , + , + '2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}', + , + , + , + '7410410123', + , + , + [10], + [6, 7, 8], + ], + [ + , + , + '(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|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]|881))[0189]\\d{5}', + , + , + , + '8123456789', + , + , + [10], + ], + [, , '000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))', , , , '1800123456'], + [, , '186[12]\\d{9}', , , , '1861123456789', , , [13]], + [, , '1860\\d{7}', , , , '18603451234', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'IN', + 91, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{7})', '$1', ['575']], + [ + , + '(\\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)', + ], + , + , + 1, + ], + [, '(\\d{4})(\\d{4,5})', '$1 $2', ['180', '1800'], , , 1], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['140'], , , 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)'], , , 1], + [, '(\\d{3})(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3 $4', ['0']], + [, '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3 $4', ['18'], , , 1], + ], + [ + [ + , + '(\\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)', + ], + , + , + 1, + ], + [, '(\\d{4})(\\d{4,5})', '$1 $2', ['180', '1800'], , , 1], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['140'], , , 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)'], , , 1], + [, '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3 $4', ['18'], , , 1], + ], + [, , , , , , , , , [-1]], + , + , + [, , '1(?:600\\d{6}|800\\d{4,9})|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}'], + [, , '140\\d{7}', , , , '1409305260', , , [10]], + , + , + [, , , , , , , , , [-1]], + ], + IO: [ + , + [, , '3\\d{6}', , , , , , , [7]], + [, , '37\\d{5}', , , , '3709100'], + [, , '38\\d{5}', , , , '3801234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'IO', + 246, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['3']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + IQ: [ + , + [, , '(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}', , , , , , , [8, 9, 10], [6, 7]], + [ + , + , + '1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}', + , + , + , + '12345678', + , + , + [8, 9], + [6, 7], + ], + [, , '7[3-9]\\d{8}', , , , '7912345678', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'IQ', + 964, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + IR: [ + , + [, , '[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}', , , , , , , [4, 5, 6, 7, 10], [8]], + [ + , + , + '(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|2(?:121|[2689]0\\d)|30[0-2]\\d|4(?:111|40\\d))\\d{4}', + , + , + , + '2123456789', + , + , + [6, 7, 10], + [4, 5, 8], + ], + [ + , + , + '9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:(?:[0-3]\\d|4[0145])\\d|5[15]0|8(?:1\\d|88)|9(?:0[013]|[19]\\d|21|77|8[7-9])))\\d{5}', + , + , + , + '9123456789', + , + , + [10], + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'IR', + 98, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [ + , + , + '9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))', + , + , + , + , + , + , + [4, 5, 10], + ], + [ + , + , + '96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])', + , + , + , + '9601', + , + , + [4, 5], + ], + , + , + [, , , , , , , , , [-1]], + ], + IS: [ + , + [, , '(?:38\\d|[4-9])\\d{6}', , , , , , , [7, 9]], + [ + , + , + '(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-245]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}', + , + , + , + '4101234', + , + , + [7], + ], + [ + , + , + '(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[027-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[28]))\\d{4}', + , + , + , + '6111234', + ], + [, , '80[08]\\d{4}', , , , '8001234', , , [7]], + [ + , + , + '90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}', + , + , + , + '9001234', + , + , + [7], + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '49[0-24-79]\\d{4}', , , , '4921234', , , [7]], + 'IS', + 354, + '00|1(?:0(?:01|[12]0)|100)', + , + , + , + , + , + '00', + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[4-9]']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['3']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '809\\d{4}', , , , '8091234', , , [7]], + , + , + [, , '(?:689|8(?:7[18]|80)|95[48])\\d{4}', , , , '6891234', , , [7]], + ], + IT: [ + , + [ + , + , + '0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|55\\d{8}|8\\d{5}(?:\\d{2,4})?', + , + , + , + , + , + , + [6, 7, 8, 9, 10, 11, 12], + ], + [ + , + , + '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}', + , + , + , + '0212345678', + , + , + [6, 7, 8, 9, 10, 11], + ], + [, , '3[1-9]\\d{8}|3[2-9]\\d{7}', , , , '3123456789', , , [9, 10]], + [, , '80(?:0\\d{3}|3)\\d{3}', , , , '800123456', , , [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}', + , + , + , + '899123456', + , + , + [6, 8, 9, 10], + ], + [, , '84(?:[08]\\d{3}|[17])\\d{3}', , , , '848123456', , , [6, 9]], + [, , '1(?:78\\d|99)\\d{6}', , , , '1781234567', , , [9, 10]], + [, , '55\\d{8}', , , , '5512345678', , , [10]], + 'IT', + 39, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4,5})', '$1', ['1(?:0|9[246])', '1(?:0|9(?:2[2-9]|[46]))']], + [, '(\\d{6})', '$1', ['1(?:1|92)']], + [, '(\\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])|[38]']], + [, '(\\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']], + ], + [ + [, '(\\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])|[38]']], + [, '(\\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']], + ], + [, , , , , , , , , [-1]], + 1, + , + [, , '848\\d{6}', , , , , , , [9]], + [, , , , , , , , , [-1]], + , + , + [, , '3[2-8]\\d{9,10}', , , , '33101234501', , , [11, 12]], + ], + JE: [ + , + [, , '1534\\d{6}|(?:[3578]\\d|90)\\d{8}', , , , , , , [10], [6]], + [, , '1534[0-24-8]\\d{5}', , , , '1534456789', , , , [6]], + [, , '7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}', , , , '7797712345'], + [, , '80(?:07(?:35|81)|8901)\\d{4}', , , , '8007354567'], + [ + , + , + '(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}', + , + , + , + '9018105678', + ], + [, , , , , , , , , [-1]], + [, , '701511\\d{4}', , , , '7015115678'], + [, , '56\\d{8}', , , , '5612345678'], + 'JE', + 44, + '00', + '0', + , + , + '0|([0-24-8]\\d{5})$', + '1534$1', + , + , + , + , + [ + , + , + '76(?:464|652)\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|81|9[139])\\d{6}', + , + , + , + '7640123456', + ], + , + , + [, , , , , , , , , [-1]], + [ + , + , + '(?: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}', + , + , + , + '5512345678', + ], + , + , + [, , , , , , , , , [-1]], + ], + JM: [ + , + [, , '(?:[58]\\d\\d|658|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '8766060\\d{3}|(?:658(?:2(?:[0-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0237-9]|[23]\\d|40|5[06]|6[2-589]|7[05]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}', + , + , + , + '8765230123', + , + , + , + [7], + ], + [ + , + , + '(?:658295|876(?:2(?:0[2-9]|[14-9]\\d|2[013-9]|3[3-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}', + , + , + , + '8762101234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'JM', + 1, + '011', + '1', + , + , + '1', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '658|876', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + JO: [ + , + [, , '(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}', , , , , , , [8, 9]], + [ + , + , + '87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}', + , + , + , + '62001234', + , + , + [8], + ], + [, , '7(?:[78][0-25-9]|9\\d)\\d{6}', , , , '790123456', , , [9]], + [, , '80\\d{6}', , , , '80012345', , , [8]], + [, , '9\\d{7}', , , , '90012345', , , [8]], + [, , '85\\d{6}', , , , '85012345', , , [8]], + [, , '70\\d{7}', , , , '700123456', , , [9]], + [, , , , , , , , , [-1]], + 'JO', + 962, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , '74(?:66|77)\\d{5}', , , , '746612345', , , [9]], + , + , + [, , , , , , , , , [-1]], + [, , '8(?:10|8\\d)\\d{5}', , , , '88101234', , , [8]], + , + , + [, , , , , , , , , [-1]], + ], + JP: [ + , + [ + , + , + '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], + ], + [ + , + , + '(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}', + , + , + , + '312345678', + , + , + [9], + ], + [, , '[7-9]0[1-9]\\d{7}', , , , '9012345678', , , [10]], + [ + , + , + '00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}', + , + , + , + '120123456', + ], + [, , '990\\d{6}', , , , '990123456', , , [9]], + [, , , , , , , , , [-1]], + [, , '60\\d{7}', , , , '601234567', , , [9]], + [, , '50[1-9]\\d{7}', , , , '5012345678', , , [10]], + 'JP', + 81, + '010', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{4})(\\d{4})', '$1-$2', ['007', '0077', '00777', '00777[01]']], + [, '(\\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|63)|9(?:49|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]|636)|9(?:496|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]|636[457-9])|9(?:496|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[045]|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[27-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])|5(?:2|3[045]|4[0-369]|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])|49|51|6(?:[0-24]|36|5[0-3589]|72|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]))|(?:49|55|83)[29]|(?: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]|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]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|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]', + '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]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|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{4})(\\d{2})(\\d{3,4})', '$1-$2-$3', ['007', '0077']], + [, '(\\d{4})(\\d{2})(\\d{4})', '$1-$2-$3', ['008']], + [, '(\\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'], + [, '(\\d{4})(\\d{3})(\\d{3,4})', '$1-$2-$3', ['0']], + [, '(\\d{4})(\\d{4})(\\d{4,5})', '$1-$2-$3', ['0']], + [, '(\\d{4})(\\d{5})(\\d{5,6})', '$1-$2-$3', ['0']], + [, '(\\d{4})(\\d{6})(\\d{6,7})', '$1-$2-$3', ['0']], + ], + [ + [, '(\\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|63)|9(?:49|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]|636)|9(?:496|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]|636[457-9])|9(?:496|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[045]|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[27-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])|5(?:2|3[045]|4[0-369]|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])|49|51|6(?:[0-24]|36|5[0-3589]|72|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]))|(?:49|55|83)[29]|(?: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]|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]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|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]', + '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]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|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(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|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'], + ], + [, , '20\\d{8}', , , , '2012345678', , , [10]], + , + , + [, , '00(?:777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d|00(?:37|66|78)\\d{6,13}'], + [, , '570\\d{6}', , , , '570123456', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + KE: [ + , + [ + , + , + '(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}', + , + , + , + , + , + , + [7, 8, 9, 10], + ], + [ + , + , + '(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}', + , + , + , + '202012345', + , + , + [7, 8, 9], + ], + [, , '(?:1(?:0[0-6]|1[0-5]|2[014])|7\\d\\d)\\d{6}', , , , '712123456', , , [9]], + [, , '800[2-8]\\d{5,6}', , , , '800223456', , , [9, 10]], + [, , '900[02-9]\\d{5}', , , , '900223456', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'KE', + 254, + '000', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KG: [ + , + [, , '8\\d{9}|(?:[235-8]\\d|99)\\d{7}', , , , , , , [9, 10], [5, 6]], + [ + , + , + '312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}', + , + , + , + '312123456', + , + , + [9], + [5, 6], + ], + [ + , + , + '312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|7(?:[07]\\d|55)|880|99[05-9])\\d{6}', + , + , + , + '700123456', + , + , + [9], + ], + [, , '800\\d{6,7}', , , , '800123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'KG', + 996, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KH: [ + , + [, , '1\\d{9}|[1-9]\\d{7,8}', , , , , , , [8, 9, 10], [6, 7]], + [ + , + , + '23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})', + , + , + , + '23756789', + , + , + [8, 9], + [6, 7], + ], + [ + , + , + '(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}', + , + , + , + '91234567', + , + , + [8, 9], + ], + [, , '1800(?:1\\d|2[019])\\d{4}', , , , '1800123456', , , [10]], + [, , '1900(?:1\\d|2[09])\\d{4}', , , , '1900123456', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'KH', + 855, + '00[14-9]', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[1-9]'], '0$1'], + [, '(\\d{4})(\\d{3})(\\d{3})', '$1 $2 $3', ['1']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KI: [ + , + [, , '(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}', , , , , , , [5, 8]], + [ + , + , + '(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}', + , + , + , + '31234', + ], + [ + , + , + '(?:63\\d{3}|73(?:0[0-5]\\d|140))\\d{3}|[67]200[01]\\d{3}', + , + , + , + '72001234', + , + , + [8], + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '30(?:0[01]\\d\\d|12(?:11|20))\\d\\d', , , , '30010000', , , [8]], + 'KI', + 686, + '00', + '0', + , + , + '0', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KM: [ + , + [, , '[3478]\\d{6}', , , , , , , [7], [4]], + [, , '7[4-7]\\d{5}', , , , '7712345', , , , [4]], + [, , '[34]\\d{6}', , , , '3212345'], + [, , , , , , , , , [-1]], + [, , '8\\d{6}', , , , '8001234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'KM', + 269, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3', ['[3478]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KN: [ + , + [, , '(?:[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}', + , + , + , + '8692361234', + , + , + , + [7], + ], + [, , '869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}', , , , '8697652917', , , , [7]], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'KN', + 1, + '011', + '1', + , + , + '1|([2-7]\\d{6})$', + '869$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '869', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KP: [ + , + [, , '85\\d{6}|(?:19\\d|[2-7])\\d{7}', , , , , , , [8, 10], [6, 7]], + [ + , + , + '(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}', + , + , + , + '21234567', + , + , + , + [6, 7], + ], + [, , '19[1-3]\\d{7}', , , , '1921234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'KP', + 850, + '00|99', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '238[02-9]\\d{4}|2(?:[0-24-9]\\d|3[0-79])\\d{5}', , , , , , , [8]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KR: [ + , + [ + , + , + '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], + [3, 4, 7], + ], + [ + , + , + '(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}', + , + , + , + '22123456', + , + , + [5, 6, 8, 9, 10], + [3, 4, 7], + ], + [ + , + , + '1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[1-46-9]|[16-9]\\d|2[013-9])\\d{6,7}', + , + , + , + '1020000000', + , + , + [9, 10], + ], + [ + , + , + '00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|80)\\d{7}', + , + , + , + '801234567', + , + , + [9, 11, 12, 13, 14], + ], + [, , '60[2-9]\\d{6}', , , , '602345678', , , [9]], + [, , , , , , , , , [-1]], + [, , '50\\d{8,9}', , , , '5012345678', , , [10, 11]], + [, , '70\\d{8}', , , , '7012345678', , , [10]], + 'KR', + 82, + '00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))', + '0', + , + , + '0(8(?:[1-46-8]|5\\d\\d))?', + , + , + , + [ + [, '(\\d{5})', '$1', ['1[016-9]1', '1[016-9]11', '1[016-9]114'], '0$1'], + [, '(\\d{2})(\\d{3,4})', '$1-$2', ['(?:3[1-3]|[46][1-4]|5[1-5])1'], '0$1', '0$CC-$1'], + [, '(\\d{4})(\\d{4})', '$1-$2', ['1']], + [, '(\\d)(\\d{3,4})(\\d{4})', '$1-$2-$3', ['2'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1-$2-$3', ['60|8'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{3,4})(\\d{4})', '$1-$2-$3', ['[1346]|5[1-5]'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{4})(\\d{4})', '$1-$2-$3', ['[57]'], '0$1', '0$CC-$1'], + [, '(\\d{5})(\\d{3})(\\d{3})', '$1 $2 $3', ['003', '0030']], + [, '(\\d{2})(\\d{5})(\\d{4})', '$1-$2-$3', ['5'], '0$1', '0$CC-$1'], + [, '(\\d{5})(\\d{3,4})(\\d{4})', '$1 $2 $3', ['0']], + [, '(\\d{5})(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3 $4', ['0']], + ], + [ + [, '(\\d{2})(\\d{3,4})', '$1-$2', ['(?:3[1-3]|[46][1-4]|5[1-5])1'], '0$1', '0$CC-$1'], + [, '(\\d{4})(\\d{4})', '$1-$2', ['1']], + [, '(\\d)(\\d{3,4})(\\d{4})', '$1-$2-$3', ['2'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1-$2-$3', ['60|8'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{3,4})(\\d{4})', '$1-$2-$3', ['[1346]|5[1-5]'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{4})(\\d{4})', '$1-$2-$3', ['[57]'], '0$1', '0$CC-$1'], + [, '(\\d{2})(\\d{5})(\\d{4})', '$1-$2-$3', ['5'], '0$1', '0$CC-$1'], + ], + [, , '15\\d{7,8}', , , , '1523456789', , , [9, 10]], + , + , + [, , '00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})', , , , , , , [11, 12, 13, 14]], + [ + , + , + '1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[16]|88)|8(?:00|33|55|77|99))\\d{4}', + , + , + , + '15441234', + , + , + [8], + ], + , + , + [, , , , , , , , , [-1]], + ], + KW: [ + , + [, , '18\\d{5}|(?:[2569]\\d|41)\\d{6}', , , , , , , [7, 8]], + [ + , + , + '2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}', + , + , + , + '22345678', + , + , + [8], + ], + [ + , + , + '(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|222|333|444|7(?:0[013-9]|[67]\\d)|888|9(?:[069]\\d|3[039]))|9(?:(?:0[09]|22|[4679]\\d|8[057-9])\\d|1(?:1[01]|99)|3(?:00|33)|5(?:00|5\\d)))\\d{4}', + , + , + , + '50012345', + , + , + [8], + ], + [, , '18\\d{5}', , , , '1801234', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'KW', + 965, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4})(\\d{3,4})', '$1 $2', ['[169]|2(?:[235]|4[1-35-9])|52']], + [, '(\\d{3})(\\d{5})', '$1 $2', ['[245]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KY: [ + , + [, , '(?:345|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|25|[48]8)|9(?:14|4[035-9]))\\d{4}', + , + , + , + '3452221234', + , + , + , + [7], + ], + [ + , + , + '345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}', + , + , + , + '3453231234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '(?:345976|900[2-9]\\d\\d)\\d{4}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'KY', + 1, + '011', + '1', + , + , + '1|([2-9]\\d{6})$', + '345$1', + , + , + , + , + [, , '345849\\d{4}', , , , '3458491234'], + , + '345', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + KZ: [ + , + [, , '(?:33622|8\\d{8})\\d{5}|[78]\\d{9}', , , , , , , [10, 14], [5, 6, 7]], + [ + , + , + '(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9])|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}', + , + , + , + '7123456789', + , + , + [10], + [5, 6, 7], + ], + [, , '7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}', , , , '7710009998', , , [10]], + [, , '8(?:00|108\\d{3})\\d{7}', , , , '8001234567'], + [, , '809\\d{7}', , , , '8091234567', , , [10]], + [, , , , , , , , , [-1]], + [, , '808\\d{7}', , , , '8081234567', , , [10]], + [, , '751\\d{7}', , , , '7511234567', , , [10]], + 'KZ', + 7, + '810', + '8', + , + , + '8', + , + '8~10', + , + , + , + [, , , , , , , , , [-1]], + , + '33|7', + [, , '751\\d{7}', , , , , , , [10]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LA: [ + , + [, , '[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}', , , , , , , [8, 9, 10], [6]], + [, , '(?:2[13]|[35-7][14]|41|8[1468])\\d{6}', , , , '21212862', , , [8], [6]], + [, , '(?:20(?:[239]\\d|5[24-9]|7[6-8]|88)|302\\d)\\d{6}', , , , '2023123456', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LA', + 856, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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', ['30[013-9]'], '0$1'], + [, '(\\d{2})(\\d{2})(\\d{3})(\\d{3})', '$1 $2 $3 $4', ['[23]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '30[013-9]\\d{6}', , , , '301234567', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + LB: [ + , + [, , '[27-9]\\d{7}|[13-9]\\d{6}', , , , , , , [7, 8]], + [ + , + , + '7(?:62|8[0-7]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}', + , + , + , + '1123456', + ], + [ + , + , + '793(?:[01]\\d|2[0-4])\\d{3}|(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[12]))\\d{5}', + , + , + , + '71123456', + ], + [, , , , , , , , , [-1]], + [, , '9[01]\\d{6}', , , , '90123456', , , [8]], + [, , '80\\d{6}', , , , '80123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LB', + 961, + '00', + '0', + , + , + '0', + , + , + , + [ + [ + , + '(\\d)(\\d{3})(\\d{3})', + '$1 $2 $3', + ['[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]'], + '0$1', + ], + [, '(\\d{2})(\\d{3})(\\d{3})', '$1 $2 $3', ['[27-9]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LC: [ + , + [, , '(?:[58]\\d\\d|758|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}', + , + , + , + '7584305678', + , + , + , + [7], + ], + [ + , + , + '758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}', + , + , + , + '7582845678', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'LC', + 1, + '011', + '1', + , + , + '1|([2-8]\\d{6})$', + '758$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '758', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LI: [ + , + [, , '[68]\\d{8}|(?:[2378]\\d|90)\\d{5}', , , , , , , [7, 9]], + [ + , + , + '(?:2(?:01|1[27]|2[02]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}', + , + , + , + '2345678', + , + , + [7], + ], + [ + , + , + '(?:6(?:4(?:5[4-9]|[6-9]\\d)|5[0-4]\\d|6(?:[0245]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}', + , + , + , + '660234567', + ], + [, , '8002[28]\\d\\d|80(?:05\\d|9)\\d{4}', , , , '8002222'], + [, , '90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d', , , , '9002222', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LI', + 423, + '00', + '0', + , + , + '0|(1001)', + , + , + , + [ + [ + , + '(\\d{3})(\\d{2})(\\d{2})', + '$1 $2 $3', + ['[2379]|8(?:0[09]|7)', '[2379]|8(?:0(?:02|9)|7)'], + , + '$CC $1', + ], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['8']], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['69'], , '$CC $1'], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['6'], , '$CC $1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '870(?:28|87)\\d\\d', , , , '8702812', , , [7]], + , + , + [, , '697(?:42|56|[78]\\d)\\d{4}', , , , '697861234', , , [9]], + ], + LK: [ + , + [, , '[1-9]\\d{8}', , , , , , , [9], [7]], + [ + , + , + '(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}', + , + , + , + '112345678', + , + , + , + [7], + ], + [, , '7(?:[0-25-8]\\d|4[0-4])\\d{6}', , , , '712345678'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LK', + 94, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '1973\\d{5}', , , , '197312345'], + , + , + [, , , , , , , , , [-1]], + ], + LR: [ + , + [, , '(?:2|33|5\\d|77|88)\\d{7}|[4-6]\\d{6}', , , , , , , [7, 8, 9]], + [, , '(?:2\\d{3}|33333)\\d{4}', , , , '21234567', , , [8, 9]], + [ + , + , + '(?:(?:330|555|(?:77|88)\\d)\\d|4[67])\\d{5}|[56]\\d{6}', + , + , + , + '770123456', + , + , + [7, 9], + ], + [, , , , , , , , , [-1]], + [, , '332(?:02|[34]\\d)\\d{4}', , , , '332021234', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LR', + 231, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d)(\\d{3})(\\d{3})', '$1 $2 $3', ['[4-6]'], '0$1'], + [, '(\\d{2})(\\d{3})(\\d{3})', '$1 $2 $3', ['2'], '0$1'], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[3578]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LS: [ + , + [, , '(?:[256]\\d\\d|800)\\d{5}', , , , , , , [8]], + [, , '2\\d{7}', , , , '22123456'], + [, , '[56]\\d{7}', , , , '50123456'], + [, , '800[256]\\d{4}', , , , '80021234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LS', + 266, + '00', + , + , + , + , + , + , + , + [[, '(\\d{4})(\\d{4})', '$1 $2', ['[2568]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LT: [ + , + [, , '(?:[3469]\\d|52|[78]0)\\d{6}', , , , , , , [8]], + [, , '(?:3[1478]|4[124-6]|52)\\d{6}', , , , '31234567'], + [, , '6\\d{7}', , , , '61234567'], + [, , '80[02]\\d{5}', , , , '80012345'], + [, , '9(?:0[0239]|10)\\d{5}', , , , '90012345'], + [, , '808\\d{5}', , , , '80812345'], + [, , '70[05]\\d{5}', , , , '70012345'], + [, , '[89]01\\d{5}', , , , '80123456'], + 'LT', + 370, + '00', + '8', + , + , + '[08]', + , + , + , + [ + [, '(\\d)(\\d{3})(\\d{4})', '$1 $2 $3', ['52[0-7]'], '(8-$1)', , 1], + [, '(\\d{3})(\\d{2})(\\d{3})', '$1 $2 $3', ['[7-9]'], '8 $1', , 1], + [, '(\\d{2})(\\d{6})', '$1 $2', ['37|4(?:[15]|6[1-8])'], '(8-$1)', , 1], + [, '(\\d{3})(\\d{5})', '$1 $2', ['[3-6]'], '(8-$1)', , 1], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '70[67]\\d{5}', , , , '70712345'], + , + , + [, , , , , , , , , [-1]], + ], + LU: [ + , + [ + , + , + '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], + ], + [ + , + , + '(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}', + , + , + , + '27123456', + ], + [, , '6(?:[269][18]|5[1568]|7[189]|81)\\d{6}', , , , '628123456', , , [9]], + [, , '800\\d{5}', , , , '80012345', , , [8]], + [, , '90[015]\\d{5}', , , , '90012345', , , [8]], + [, , '801\\d{5}', , , , '80112345', , , [8]], + [, , , , , , , , , [-1]], + [, , '20(?:1\\d{5}|[2-689]\\d{1,7})', , , , '20201234', , , [4, 5, 6, 7, 8, 9, 10]], + 'LU', + 352, + '00', + , + , + , + '(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)', + , + , + , + [ + [ + , + '(\\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])'], + , + '$CC $1', + ], + [ + , + '(\\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])'], + , + '$CC $1', + ], + [, '(\\d{2})(\\d{2})(\\d{3})', '$1 $2 $3', ['20[2-689]'], , '$CC $1'], + [ + , + '(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', + '$1 $2 $3 $4', + ['2(?:[0367]|4[3-8])'], + , + '$CC $1', + ], + [, '(\\d{3})(\\d{2})(\\d{3})', '$1 $2 $3', ['80[01]|90[015]'], , '$CC $1'], + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', '$1 $2 $3 $4', ['20'], , '$CC $1'], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['6'], , '$CC $1'], + [ + , + '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', + '$1 $2 $3 $4 $5', + ['2(?:[0367]|4[3-8])'], + , + '$CC $1', + ], + [ + , + '(\\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]'], + , + '$CC $1', + ], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LV: [ + , + [, , '(?:[268]\\d|90)\\d{6}', , , , , , , [8]], + [, , '6\\d{7}', , , , '63123456'], + [, , '2\\d{7}', , , , '21234567'], + [, , '80\\d{6}', , , , '80123456'], + [, , '90\\d{6}', , , , '90123456'], + [, , '81\\d{6}', , , , '81123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LV', + 371, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{3})(\\d{3})', '$1 $2 $3', ['[269]|8[01]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + LY: [ + , + [, , '[2-9]\\d{8}', , , , , , , [9], [7]], + [ + , + , + '(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}', + , + , + , + '212345678', + , + , + , + [7], + ], + [, , '9[1-6]\\d{7}', , , , '912345678'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'LY', + 218, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{2})(\\d{7})', '$1-$2', ['[2-9]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MA: [ + , + [, , '[5-8]\\d{8}', , , , , , , [9]], + [ + , + , + '5(?:29(?:[189][05]|2[29]|3[01])|38[89][05])\\d{4}|5(?:2(?:[0-25-7]\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\d|5[02-9]|6[02-8]|80|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}', + , + , + , + '520123456', + ], + [, , '(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|6[0-367]))\\d{6}', , , , '650123456'], + [, , '80\\d{7}', , , , '801234567'], + [, , '89\\d{7}', , , , '891234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '592(?:4[0-2]|93)\\d{4}', , , , '592401234'], + 'MA', + 212, + '00', + '0', + , + , + '0', + , + , + , + [ + [ + , + '(\\d{5})(\\d{4})', + '$1-$2', + ['5(?:29|38)', '5(?:29|38)[89]', '5(?:29|38)[89]0'], + '0$1', + ], + [, '(\\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-489]|3[5-9]|9)|892', '5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892'], + '0$1', + ], + [, '(\\d{2})(\\d{7})', '$1-$2', ['8'], '0$1'], + [, '(\\d{3})(\\d{6})', '$1-$2', ['[5-7]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + 1, + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MC: [ + , + [, , '(?:[3489]|6\\d)\\d{7}', , , , , , , [8, 9]], + [, , '(?:870|9[2-47-9]\\d)\\d{5}', , , , '99123456', , , [8]], + [, , '4(?:[46]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}', , , , '612345678'], + [, , '(?:800|90\\d)\\d{5}', , , , '90123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MC', + 377, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{3})(\\d{2})', '$1 $2 $3', ['87']], + [, '(\\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'], + ], + [ + [, '(\\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'], + ], + [, , , , , , , , , [-1]], + , + , + [, , '8[07]0\\d{5}', , , , , , , [8]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MD: [ + , + [, , '(?:[235-7]\\d|[89]0)\\d{6}', , , , , , , [8]], + [, , '(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}', , , , '22212345'], + [, , '562\\d{5}|(?:6\\d|7[16-9])\\d{6}', , , , '62112345'], + [, , '800\\d{5}', , , , '80012345'], + [, , '90[056]\\d{5}', , , , '90012345'], + [, , '808\\d{5}', , , , '80812345'], + [, , , , , , , , , [-1]], + [, , '3[08]\\d{6}', , , , '30123456'], + 'MD', + 373, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '803\\d{5}', , , , '80312345'], + , + , + [, , , , , , , , , [-1]], + ], + ME: [ + , + [, , '(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}', , , , , , , [8, 9], [6]], + [ + , + , + '(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}', + , + , + , + '30234567', + , + , + [8], + [6], + ], + [, , '6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}', , , , '67622901', , , [8]], + [, , '80(?:[0-2578]|9\\d)\\d{5}', , , , '80080002'], + [, , '9(?:4[1568]|5[178])\\d{5}', , , , '94515151', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '78[1-49]\\d{5}', , , , '78108780', , , [8]], + 'ME', + 382, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{2})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[2-9]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '77[1-9]\\d{5}', , , , '77273012', , , [8]], + , + , + [, , , , , , , , , [-1]], + ], + MF: [ + , + [, , '(?:590|(?:69|80)\\d|976)\\d{6}', , , , , , , [9]], + [, , '590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}', , , , '590271234'], + [, , '69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}', , , , '690001234'], + [, , '80[0-5]\\d{6}', , , , '800012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '976[01]\\d{5}', , , , '976012345'], + 'MF', + 590, + '00', + '0', + , + , + '0', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MG: [ + , + [, , '[23]\\d{8}', , , , , , , [9], [7]], + [ + , + , + '2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\d{5}', + , + , + , + '202123456', + , + , + , + [7], + ], + [, , '3[2-489]\\d{7}', , , , '321234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '22\\d{7}', , , , '221234567'], + 'MG', + 261, + '00', + '0', + , + , + '0|([24-9]\\d{6})$', + '20$1', + , + , + [[, '(\\d{2})(\\d{2})(\\d{3})(\\d{2})', '$1 $2 $3 $4', ['[23]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MH: [ + , + [, , '329\\d{4}|(?:[256]\\d|45)\\d{5}', , , , , , , [7]], + [, , '(?:247|528|625)\\d{4}', , , , '2471234'], + [, , '(?:(?:23|54)5|329|45[56])\\d{4}', , , , '2351234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '635\\d{4}', , , , '6351234'], + 'MH', + 692, + '011', + '1', + , + , + '1', + , + , + , + [[, '(\\d{3})(\\d{4})', '$1-$2', ['[2-6]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MK: [ + , + [, , '[2-578]\\d{7}', , , , , , , [8], [6, 7]], + [ + , + , + '(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[23]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}', + , + , + , + '22012345', + , + , + , + [6, 7], + ], + [ + , + , + '7(?:3555|4(?:60\\d|747)|94(?:[01]\\d|2[0-4]))\\d{3}|7(?:[0-25-8]\\d|3[1-4]|42|9[23])\\d{5}', + , + , + , + '72345678', + ], + [, , '800\\d{5}', , , , '80012345'], + [, , '5[02-9]\\d{6}', , , , '50012345'], + [, , '8(?:0[1-9]|[1-9]\\d)\\d{5}', , , , '80123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MK', + 389, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + ML: [ + , + [, , '[24-9]\\d{7}', , , , , , , [8]], + [ + , + , + '2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\d{5}', + , + , + , + '20212345', + ], + [, , '2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[239])\\d{6}', , , , '65012345'], + [, , '80\\d{6}', , , , '80012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'ML', + 223, + '00', + , + , + , + , + , + , + , + [ + [ + , + '(\\d{4})', + '$1', + ['67[057-9]|74[045]', '67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)'], + ], + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[24-9]']], + ], + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[24-9]']]], + [, , , , , , , , , [-1]], + , + , + [, , '80\\d{6}'], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MM: [ + , + [ + , + , + '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], + [5], + ], + [ + , + , + '(?:1(?:(?:2\\d|3[56]|[89][0-6])\\d|4(?:2[2-469]|39|46|6[25]|7[0-3]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|2[246]|39|46|62|7[0-3]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[0-3])|3(?:20\\d|4(?:70|83)|56)|420\\d|5470)|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|247[23]|3(?:20\\d|470)|4(?:2[04]\\d|47[23])|7(?:(?:3\\d|8[01459])\\d|4(?:39|60|7[013]))))\\d{4}|5(?:2(?:2\\d{5,6}|47[023]\\d{4})|(?:347[23]|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[0-2])|8(?:20\\d|47[02])|9(?:20\\d|47[01]))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:2\\d|4[1-9]|51)\\d|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}', + , + , + , + '1234567', + , + , + [6, 7, 8, 9], + [5], + ], + [ + , + , + '(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}', + , + , + , + '92123456', + , + , + [7, 8, 9, 10], + ], + [, , '80080(?:[01][1-9]|2\\d)\\d{3}', , , , '8008001234', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '1333\\d{4}|[12]468\\d{4}', , , , '13331234', , , [8]], + 'MM', + 95, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d)(\\d{2})(\\d{3})', '$1 $2 $3', ['16|2'], '0$1'], + [ + , + '(\\d{2})(\\d{2})(\\d{3})', + '$1 $2 $3', + ['[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]'], + '0$1', + ], + [, '(\\d)(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[12]'], '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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MN: [ + , + [, , '[12]\\d{7,9}|[57-9]\\d{7}', , , , , , , [8, 9, 10], [4, 5, 6]], + [ + , + , + '[12]2[1-3]\\d{5,6}|7(?:0[0-5]\\d|128)\\d{4}|(?:[12](?:1|27)|5[368])\\d{6}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\d{6,7}', + , + , + , + '53123456', + , + , + , + [4, 5, 6], + ], + [, , '(?:83[01]|920)\\d{5}|(?:5[05]|8[05689]|9[013-9])\\d{6}', , , , '88123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '712[0-79]\\d{4}|7(?:1[013-9]|[5-8]\\d)\\d{5}', , , , '75123456', , , [8]], + 'MN', + 976, + '001', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{2})(\\d{4})', '$1 $2 $3', ['[12]1'], '0$1'], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[57-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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MO: [ + , + [, , '0800\\d{3}|(?:28|[68]\\d)\\d{6}', , , , , , , [7, 8]], + [, , '(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}', , , , '28212345', , , [8]], + [ + , + , + '6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}', + , + , + , + '66123456', + , + , + [8], + ], + [, , '0800\\d{3}', , , , '0800501', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MO', + 853, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4})(\\d{3})', '$1 $2', ['0']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[268]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MP: [ + , + [, , '[58]\\d{9}|(?:67|90)0\\d{7}', , , , , , , [10], [7]], + [ + , + , + '670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', + , + , + , + '6702345678', + , + , + , + [7], + ], + [ + , + , + '670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', + , + , + , + '6702345678', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'MP', + 1, + '011', + '1', + , + , + '1|([2-9]\\d{6})$', + '670$1', + , + 1, + , + , + [, , , , , , , , , [-1]], + , + '670', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MQ: [ + , + [, , '(?:69|80)\\d{7}|(?:59|97)6\\d{6}', , , , , , , [9]], + [, , '596(?:[04-7]\\d|10|2[7-9]|3[04-9]|8[09]|9[4-9])\\d{4}', , , , '596301234'], + [, , '69(?:6(?:[0-46-9]\\d|5[0-6])|727)\\d{4}', , , , '696201234'], + [, , '80[0-5]\\d{6}', , , , '800012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '976(?:6\\d|7[0-367])\\d{4}', , , , '976612345'], + 'MQ', + 596, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[569]'], '0$1'], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['8'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MR: [ + , + [, , '(?:[2-4]\\d\\d|800)\\d{5}', , , , , , , [8]], + [, , '(?:25[08]|35\\d|45[1-7])\\d{5}', , , , '35123456'], + [, , '[2-4][0-46-9]\\d{6}', , , , '22123456'], + [, , '800\\d{5}', , , , '80012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MR', + 222, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[2-48]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MS: [ + , + [, , '(?:[58]\\d\\d|664|900)\\d{7}', , , , , , , [10], [7]], + [, , '6644(?:1[0-3]|91)\\d{4}', , , , '6644912345', , , , [7]], + [, , '664(?:3(?:49|9[1-6])|49[2-6])\\d{4}', , , , '6644923456', , , , [7]], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'MS', + 1, + '011', + '1', + , + , + '1|([34]\\d{6})$', + '664$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '664', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MT: [ + , + [, , '3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}', , , , , , , [8]], + [, , '20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}', , , , '21001234'], + [ + , + , + '(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}', + , + , + , + '96961234', + ], + [, , '800[3467]\\d{4}', , , , '80071234'], + [, , '5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}', , , , '50037123'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '3550\\d{4}', , , , '35501234'], + 'MT', + 356, + '00', + , + , + , + , + , + , + , + [[, '(\\d{4})(\\d{4})', '$1 $2', ['[2357-9]']]], + , + [, , '7117\\d{4}', , , , '71171234'], + , + , + [, , , , , , , , , [-1]], + [, , '501\\d{5}', , , , '50112345'], + , + , + [, , , , , , , , , [-1]], + ], + MU: [ + , + [, , '(?:5|8\\d\\d)\\d{7}|[2-468]\\d{6}', , , , , , , [7, 8, 10]], + [ + , + , + '(?:2(?:[0346-8]\\d|1[0-7])|4(?:[013568]\\d|2[4-7])|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}', + , + , + , + '54480123', + , + , + [7, 8], + ], + [ + , + , + '5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])\\d{5}', + , + , + , + '52512345', + , + , + [8], + ], + [, , '802\\d{7}|80[0-2]\\d{4}', , , , '8001234', , , [7, 10]], + [, , '30\\d{5}', , , , '3012345', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '3(?:20|9\\d)\\d{4}', , , , '3201234', , , [7]], + 'MU', + 230, + '0(?:0|[24-7]0|3[03])', + , + , + , + , + , + '020', + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[2-46]|8[013]']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['5']], + [, '(\\d{5})(\\d{5})', '$1 $2', ['8']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MV: [ + , + [, , '(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}', , , , , , , [7, 10]], + [ + , + , + '(?:3(?:0[0-3]|3[0-59])|6(?:[57][02468]|6[024-68]|8[024689]))\\d{4}', + , + , + , + '6701234', + , + , + [7], + ], + [, , '46[46]\\d{4}|(?:7\\d|9[13-9])\\d{5}', , , , '7712345', , , [7]], + [, , '800\\d{7}', , , , '8001234567', , , [10]], + [, , '900\\d{7}', , , , '9001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MV', + 960, + '0(?:0|19)', + , + , + , + , + , + '00', + , + [ + [, '(\\d{3})(\\d{4})', '$1-$2', ['[3467]|9[13-9]']], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['[89]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '4[05]0\\d{4}', , , , '4001234', , , [7]], + , + , + [, , , , , , , , , [-1]], + ], + MW: [ + , + [, , '(?:[19]\\d|[23]1|77|88)\\d{7}|1\\d{6}', , , , , , , [7, 9]], + [, , '(?:1[2-9]|21\\d\\d)\\d{5}', , , , '1234567'], + [, , '111\\d{6}|(?:31|77|88|9[89])\\d{7}', , , , '991234567', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MW', + 265, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MX: [ + , + [ + , + , + '1(?:(?:44|99)[1-9]|65[0-689])\\d{7}|(?:1(?:[017]\\d|[235][1-9]|4[0-35-9]|6[0-46-9]|8[1-79]|9[1-8])|[2-9]\\d)\\d{8}', + , + , + , + , + , + , + [10, 11], + [7, 8], + ], + [ + , + , + '6571\\d{6}|(?:2(?:0[01]|2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\d))\\d{7}', + , + , + , + '2001234567', + , + , + [10], + [7, 8], + ], + [ + , + , + '6571\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\d))\\d{7}', + , + , + , + '12221234567', + , + , + , + [7, 8], + ], + [, , '8(?:00|88)\\d{7}', , , , '8001234567', , , [10]], + [, , '900\\d{7}', , , , '9001234567', , , [10]], + [, , '300\\d{7}', , , , '3001234567', , , [10]], + [, , '500\\d{7}', , , , '5001234567', , , [10]], + [, , , , , , , , , [-1]], + 'MX', + 52, + '0[09]', + '01', + , + , + '0(?:[12]|4[45])|1', + , + '00', + , + [ + [, '(\\d{5})', '$1', ['53']], + [, '(\\d{2})(\\d{4})(\\d{4})', '$1 $2 $3', ['33|5[56]|81'], , , 1], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['[2-9]'], , , 1], + [, '(\\d)(\\d{2})(\\d{4})(\\d{4})', '$2 $3 $4', ['1(?:33|5[56]|81)'], , , 1], + [, '(\\d)(\\d{3})(\\d{3})(\\d{4})', '$2 $3 $4', ['1'], , , 1], + ], + [ + [, '(\\d{2})(\\d{4})(\\d{4})', '$1 $2 $3', ['33|5[56]|81'], , , 1], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['[2-9]'], , , 1], + [, '(\\d)(\\d{2})(\\d{4})(\\d{4})', '$2 $3 $4', ['1(?:33|5[56]|81)'], , , 1], + [, '(\\d)(\\d{3})(\\d{3})(\\d{4})', '$2 $3 $4', ['1'], , , 1], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MY: [ + , + [, , '1\\d{8,9}|(?:3\\d|[4-9])\\d{7}', , , , , , , [8, 9, 10], [6, 7]], + [ + , + , + '(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}', + , + , + , + '323856789', + , + , + [8, 9], + [6, 7], + ], + [ + , + , + '1(?:1888[69]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0134]\\d|2[1-9]|5[0-6]))|(?:(?:[269]|59)\\d|[37][1-9]|4[235-9])\\d|8(?:1[23]|[236]\\d|4[06]|5[7-9]|7[016-9]|8[01]|9[0-8]))\\d{5}', + , + , + , + '123456789', + , + , + [9, 10], + ], + [, , '1[378]00\\d{6}', , , , '1300123456', , , [10]], + [, , '1600\\d{6}', , , , '1600123456', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [ + , + , + '15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}', + , + , + , + '1546012345', + , + , + [10], + ], + 'MY', + 60, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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])|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[36-8]']], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1-$2 $3', ['15'], '0$1'], + [, '(\\d{2})(\\d{4})(\\d{4})', '$1-$2 $3', ['1'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + MZ: [ + , + [, , '(?:2|8\\d)\\d{7}', , , , , , , [8, 9]], + [, , '2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}', , , , '21123456', , , [8]], + [, , '8[2-79]\\d{7}', , , , '821234567', , , [9]], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'MZ', + 258, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{2})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['2|8[2-79]']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['8']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NA: [ + , + [, , '[68]\\d{7,8}', , , , , , , [8, 9]], + [ + , + , + '64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}', + , + , + , + '61221234', + ], + [, , '(?:60|8[1245])\\d{7}', , , , '811234567', , , [9]], + [, , '80\\d{7}', , , , '800123456', , , [9]], + [, , '8701\\d{5}', , , , '870123456', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '8(?:3\\d\\d|86)\\d{5}', , , , '88612345'], + 'NA', + 264, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NC: [ + , + [, , '[2-57-9]\\d{5}', , , , , , , [6]], + [, , '(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}', , , , '201234'], + [, , '(?:5[0-4]|[79]\\d|8[0-79])\\d{4}', , , , '751234'], + [, , , , , , , , , [-1]], + [, , '36\\d{4}', , , , '366711'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NC', + 687, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})', '$1', ['5[6-8]']], + [, '(\\d{2})(\\d{2})(\\d{2})', '$1.$2.$3', ['[2-57-9]']], + ], + [[, '(\\d{2})(\\d{2})(\\d{2})', '$1.$2.$3', ['[2-57-9]']]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NE: [ + , + [, , '[027-9]\\d{7}', , , , , , , [8]], + [ + , + , + '2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}', + , + , + , + '20201234', + ], + [, , '(?:23|7[04]|[89]\\d)\\d{6}', , , , '93123456'], + [, , '08\\d{6}', , , , '08123456'], + [, , '09\\d{6}', , , , '09123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NE', + 227, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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[04]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NF: [ + , + [, , '[13]\\d{5}', , , , , , , [6], [5]], + [, , '(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}', , , , '106609', , , , [5]], + [, , '(?:14|3[58])\\d{4}', , , , '381234', , , , [5]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NF', + 672, + '00', + , + , + , + '([0-258]\\d{4})$', + '3$1', + , + , + [ + [, '(\\d{2})(\\d{4})', '$1 $2', ['1[0-3]']], + [, '(\\d)(\\d{5})', '$1 $2', ['[13]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NG: [ + , + [ + , + , + '(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}', + , + , + , + , + , + , + [7, 8, 10, 11, 12, 13, 14], + [5, 6], + ], + [ + , + , + '(?:(?:[1-356]\\d|4[02-8]|8[2-9])\\d|9(?:0[3-9]|[1-9]\\d))\\d{5}|7(?:0(?:[013-689]\\d|2[0-24-9])\\d{3,4}|[1-79]\\d{6})|(?:[12]\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\d{5}', + , + , + , + '18040123', + , + , + [7, 8], + [5, 6], + ], + [ + , + , + '(?:702[0-24-9]|8(?:01|19)[01])\\d{6}|(?:70[13-689]|8(?:0[2-9]|1[0-8])|9(?:0[1-9]|1[2356]))\\d{7}', + , + , + , + '8021234567', + , + , + [10], + ], + [, , '800\\d{7,11}', , , , '80017591759', , , [10, 11, 12, 13, 14]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NG', + 234, + '009', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{2})(\\d{3})', '$1 $2 $3', ['78'], '0$1'], + [, '(\\d)(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[12]|9(?:0[3-9]|[1-9])'], '0$1'], + [, '(\\d{2})(\\d{3})(\\d{2,3})', '$1 $2 $3', ['[3-7]|8[2-9]'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[7-9]'], '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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '700\\d{7,11}', , , , '7001234567', , , [10, 11, 12, 13, 14]], + , + , + [, , , , , , , , , [-1]], + ], + NI: [ + , + [, , '(?:1800|[25-8]\\d{3})\\d{4}', , , , , , , [8]], + [, , '2\\d{7}', , , , '21234567'], + [ + , + , + '(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}', + , + , + , + '81234567', + ], + [, , '1800\\d{4}', , , , '18001234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NI', + 505, + '00', + , + , + , + , + , + , + , + [[, '(\\d{4})(\\d{4})', '$1 $2', ['[125-8]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NL: [ + , + [ + , + , + '(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|[89]\\d{6,9}|1\\d{4,5}', + , + , + , + , + , + , + [5, 6, 7, 8, 9, 10], + ], + [ + , + , + '(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}', + , + , + , + '101234567', + , + , + [9], + ], + [, , '6[1-58]\\d{7}', , , , '612345678', , , [9]], + [, , '800\\d{4,7}', , , , '8001234', , , [7, 8, 9, 10]], + [, , '90[069]\\d{4,7}', , , , '9061234', , , [7, 8, 9, 10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:85|91)\\d{7}', , , , '851234567', , , [9]], + 'NL', + 31, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{4})', '$1', ['1[238]|[34]']], + [, '(\\d{2})(\\d{3,4})', '$1 $2', ['14']], + [, '(\\d{6})', '$1', ['1']], + [, '(\\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-57-9]'], '0$1'], + ], + [ + [, '(\\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-57-9]'], '0$1'], + ], + [, , '66\\d{7}', , , , '662345678', , , [9]], + , + , + [ + , + , + '140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\d', + , + , + , + , + , + , + [5, 6], + ], + [ + , + , + '140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d', + , + , + , + '14020', + , + , + [5, 6, 9], + ], + , + , + [, , , , , , , , , [-1]], + ], + NO: [ + , + [, , '(?:0|[2-9]\\d{3})\\d{4}', , , , , , , [5, 8]], + [, , '(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}', , , , '21234567', , , [8]], + [, , '(?:4[015-8]|59|9\\d)\\d{6}', , , , '40612345', , , [8]], + [, , '80[01]\\d{5}', , , , '80012345', , , [8]], + [, , '82[09]\\d{5}', , , , '82012345', , , [8]], + [, , '810(?:0[0-6]|[2-8]\\d)\\d{3}', , , , '81021234', , , [8]], + [, , '880\\d{5}', , , , '88012345', , , [8]], + [, , '85[0-5]\\d{5}', , , , '85012345', , , [8]], + 'NO', + 47, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{2})(\\d{3})', '$1 $2 $3', ['[489]|59']], + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[235-7]']], + ], + , + [, , , , , , , , , [-1]], + 1, + '[02-689]|7[0-8]', + [, , , , , , , , , [-1]], + [, , '(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}', , , , '02000'], + , + , + [, , '81[23]\\d{5}', , , , '81212345', , , [8]], + ], + NP: [ + , + [, , '(?:1\\d|9)\\d{9}|[1-9]\\d{7}', , , , , , , [8, 10, 11], [6, 7]], + [ + , + , + '(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}', + , + , + , + '14567890', + , + , + [8], + [6, 7], + ], + [, , '9(?:6[0-3]|7[245]|8[0-24-68])\\d{7}', , , , '9841234567', , , [10]], + [, , '1(?:66001|800\\d\\d)\\d{5}', , , , '16600101234', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NP', + 977, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d)(\\d{7})', '$1-$2', ['1[2-6]'], '0$1'], + [, '(\\d{2})(\\d{6})', '$1-$2', ['1[01]|[2-8]|9(?:[1-579]|6[2-6])'], '0$1'], + [, '(\\d{3})(\\d{7})', '$1-$2', ['9']], + [, '(\\d{4})(\\d{2})(\\d{5})', '$1-$2-$3', ['1']], + ], + [ + [, '(\\d)(\\d{7})', '$1-$2', ['1[2-6]'], '0$1'], + [, '(\\d{2})(\\d{6})', '$1-$2', ['1[01]|[2-8]|9(?:[1-579]|6[2-6])'], '0$1'], + [, '(\\d{3})(\\d{7})', '$1-$2', ['9']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NR: [ + , + [, , '(?:444|(?:55|8\\d)\\d|666)\\d{4}', , , , , , , [7]], + [, , '444\\d{4}', , , , '4441234'], + [, , '(?:55[3-9]|666|8\\d\\d)\\d{4}', , , , '5551234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NR', + 674, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[4-68]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NU: [ + , + [, , '(?:[47]|888\\d)\\d{3}', , , , , , , [4, 7]], + [, , '[47]\\d{3}', , , , '7012', , , [4]], + [, , '888[4-9]\\d{3}', , , , '8884012', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'NU', + 683, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['8']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + NZ: [ + , + [ + , + , + '[29]\\d{7,9}|50\\d{5}(?:\\d{2,3})?|6[0-35-9]\\d{6}|7\\d{7,8}|8\\d{4,9}|(?:11\\d|[34])\\d{7}', + , + , + , + , + , + , + [5, 6, 7, 8, 9, 10], + ], + [ + , + , + '24099\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}', + , + , + , + '32345678', + , + , + [8], + [7], + ], + [, , '2[0-27-9]\\d{7,8}|21\\d{6}', , , , '211234567', , , [8, 9, 10]], + [, , '508\\d{6,7}|80\\d{6,8}', , , , '800123456', , , [8, 9, 10]], + [ + , + , + '(?:11\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}', + , + , + , + '900123456', + , + , + [7, 8, 9, 10], + ], + [, , , , , , , , , [-1]], + [, , '70\\d{7}', , , , '701234567', , , [9]], + [, , , , , , , , , [-1]], + 'NZ', + 64, + '0(?:0|161)', + '0', + , + , + '0', + , + '00', + , + [ + [, '(\\d{2})(\\d{3,8})', '$1 $2', ['8[1-579]'], '0$1'], + [ + , + '(\\d{3})(\\d{2})(\\d{2,3})', + '$1 $2 $3', + ['50[036-8]|[89]0', '50(?:[0367]|88)|[89]0'], + '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)|[59]|80'], '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|86'], '0$1'], + ], + , + [, , '[28]6\\d{6,7}', , , , '26123456', , , [8, 9]], + , + , + [, , , , , , , , , [-1]], + [, , '8(?:1[6-9]|22|3\\d|4[045]|5[459]|7[0-3579]|90)\\d{2,7}', , , , '83012378'], + , + , + [, , , , , , , , , [-1]], + ], + OM: [ + , + [, , '(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}', , , , , , , [7, 8, 9]], + [, , '2[2-6]\\d{6}', , , , '23123456', , , [8]], + [ + , + , + '1505\\d{4}|(?:7(?:[1289]\\d|7[0-4])|9(?:0[1-9]|[1-9]\\d))\\d{5}', + , + , + , + '92123456', + , + , + [8], + ], + [, , '8007\\d{4,5}|(?:500|800[05])\\d{4}', , , , '80071234'], + [, , '900\\d{5}', , , , '90012345', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'OM', + 968, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4,6})', '$1 $2', ['[58]']], + [, '(\\d{2})(\\d{6})', '$1 $2', ['2']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[179]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PA: [ + , + [, , '(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}', , , , , , , [7, 8, 10, 11]], + [ + , + , + '(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[58]|7[0167]|8[258]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\d|1[0-7]|2[0-5]|33|4[0-79]|5[05]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[056]|7[0-24-9]|8[6-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}', + , + , + , + '2001234', + , + , + [7], + ], + [ + , + , + '(?:1[16]1|21[89]|6(?:[02-9]\\d|1[0-8])\\d|8(?:1[01]|7[23]))\\d{4}', + , + , + , + '61234567', + , + , + [7, 8], + ], + [, , '800\\d{4,5}|(?:00800|800\\d)\\d{6}', , , , '8001234'], + [, , '(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}', , , , '8601234', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'PA', + 507, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PE: [ + , + [, , '(?:[14-8]|9\\d)\\d{7}', , , , , , , [8, 9], [6, 7]], + [ + , + , + '(?:(?:4[34]|5[14])[0-8]\\d|7(?:173|3[0-8]\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}', + , + , + , + '11234567', + , + , + [8], + [6, 7], + ], + [, , '9\\d{8}', , , , '912345678', , , [9]], + [, , '800\\d{5}', , , , '80012345', , , [8]], + [, , '805\\d{5}', , , , '80512345', , , [8]], + [, , '801\\d{5}', , , , '80112345', , , [8]], + [, , '80[24]\\d{5}', , , , '80212345', , , [8]], + [, , , , , , , , , [-1]], + 'PE', + 51, + '19(?:1[124]|77|90)00', + '0', + ' Anexo ', + , + '0', + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PF: [ + , + [, , '4\\d{5}(?:\\d{2})?|8\\d{7,8}', , , , , , , [6, 8, 9]], + [, , '4(?:0[4-689]|9[4-68])\\d{5}', , , , '40412345', , , [8]], + [, , '8[7-9]\\d{6}', , , , '87123456', , , [8]], + [, , '80[0-5]\\d{6}', , , , '800012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '499\\d{5}', , , , '49901234', , , [8]], + 'PF', + 689, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '44\\d{4}', , , , , , , [6]], + [, , '44\\d{4}', , , , '440123', , , [6]], + , + , + [, , , , , , , , , [-1]], + ], + PG: [ + , + [, , '(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}', , , , , , , [7, 8]], + [ + , + , + '(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}', + , + , + , + '3123456', + , + , + [7], + ], + [, , '(?:7\\d|8[18])\\d{6}', , , , '70123456', , , [8]], + [, , '180\\d{4}', , , , '1801234', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '2(?:0[0-47]|7[568])\\d{4}', , , , '2751234', , , [7]], + 'PG', + 675, + '00|140[1-3]', + , + , + , + , + , + '00', + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['18|[2-69]|85']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[78]']], + ], + , + [, , '27[01]\\d{4}', , , , '2700123', , , [7]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PH: [ + , + [ + , + , + '(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}', + , + , + , + , + , + , + [6, 8, 9, 10, 11, 12, 13], + [4, 5, 7], + ], + [ + , + , + '(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}', + , + , + , + '232345678', + , + , + [6, 8, 9, 10], + [4, 5, 7], + ], + [ + , + , + '(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}', + , + , + , + '9051234567', + , + , + [10], + ], + [, , '1800\\d{7,9}', , , , '180012345678', , , [11, 12, 13]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'PH', + 63, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PK: [ + , + [ + , + , + '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], + [5, 6, 7], + ], + [ + , + , + '(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?: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]))[2-9]\\d{5,6}', + , + , + , + '2123456789', + , + , + [9, 10], + [5, 6, 7, 8], + ], + [, , '3(?:[014]\\d|2[0-5]|3[0-7]|55|64)\\d{7}', , , , '3012345678', , , [10]], + [, , '800\\d{5}(?:\\d{3})?', , , , '80012345', , , [8, 11]], + [, , '900\\d{5}', , , , '90012345', , , [8]], + [, , , , , , , , , [-1]], + [, , '122\\d{6}', , , , '122044444', , , [9]], + [, , , , , , , , , [-1]], + 'PK', + 92, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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)'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [ + , + , + '(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}', + , + , + , + '21111825888', + , + , + [11, 12], + ], + , + , + [, , , , , , , , , [-1]], + ], + PL: [ + , + [, , '6\\d{5}(?:\\d{2})?|8\\d{9}|[1-9]\\d{6}(?:\\d{2})?', , , , , , , [6, 7, 8, 9, 10]], + [ + , + , + '47\\d{7}|(?: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])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))', + , + , + , + '123456789', + , + , + [7, 9], + ], + [ + , + , + '211(?:1\\d|3[1-5])\\d{4}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}', + , + , + , + '512345678', + , + , + [9], + ], + [, , '800\\d{6,7}', , , , '800123456', , , [9, 10]], + [, , '70[01346-8]\\d{6}', , , , '701234567', , , [9]], + [, , '801\\d{6}', , , , '801234567', , , [9]], + [, , , , , , , , , [-1]], + [, , '39\\d{7}', , , , '391234567', , , [9]], + 'PL', + 48, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{5})', '$1', ['19']], + [, '(\\d{3})(\\d{3})', '$1 $2', ['11|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']], + ], + , + [, , '64\\d{4,7}', , , , '641234567', , , [6, 7, 8, 9]], + , + , + [, , , , , , , , , [-1]], + [, , '804\\d{6}', , , , '804123456', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + PM: [ + , + [, , '(?:[45]|80\\d\\d)\\d{5}', , , , , , , [6, 9]], + [, , '(?:4[1-3]|50)\\d{4}', , , , '430123', , , [6]], + [, , '(?:4[02-4]|5[05])\\d{4}', , , , '551234', , , [6]], + [, , '80[0-5]\\d{6}', , , , '800012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'PM', + 508, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3', ['[45]'], '0$1'], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['8'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PR: [ + , + [, , '(?:[589]\\d\\d|787)\\d{7}', , , , , , , [10], [7]], + [, , '(?:787|939)[2-9]\\d{6}', , , , '7872345678', , , , [7]], + [, , '(?:787|939)[2-9]\\d{6}', , , , '7872345678', , , , [7]], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'PR', + 1, + '011', + '1', + , + , + '1', + , + , + 1, + , + , + [, , , , , , , , , [-1]], + , + '787|939', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PS: [ + , + [, , '[2489]2\\d{6}|(?:1\\d|5)\\d{8}', , , , , , , [8, 9, 10], [7]], + [, , '(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}', , , , '22234567', , , [8], [7]], + [, , '5[69]\\d{7}', , , , '599123456', , , [9]], + [, , '1800\\d{6}', , , , '1800123456', , , [10]], + [, , , , , , , , , [-1]], + [, , '1700\\d{6}', , , , '1700123456', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'PS', + 970, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PT: [ + , + [, , '1693\\d{5}|(?:[26-9]\\d|30)\\d{7}', , , , , , , [9]], + [ + , + , + '2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}', + , + , + , + '212345678', + ], + [ + , + , + '6[0356]92(?:30|9\\d)\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}', + , + , + , + '912345678', + ], + [, , '80[02]\\d{6}', , , , '800123456'], + [, , '(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}', , , , '760123456'], + [, , '80(?:8\\d|9[1579])\\d{5}', , , , '808123456'], + [, , '884[0-4689]\\d{5}', , , , '884123456'], + [, , '30\\d{7}', , , , '301234567'], + 'PT', + 351, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['2[12]']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['16|[236-9]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '70(?:7\\d|8[17])\\d{5}', , , , '707123456'], + , + , + [, , '600\\d{6}', , , , '600110000'], + ], + PW: [ + , + [, , '(?:[24-8]\\d\\d|345|900)\\d{4}', , , , , , , [7]], + [ + , + , + '(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}', + , + , + , + '2771234', + ], + [, , '(?:46[0-5]|6[2-4689]0)\\d{4}|(?:45|77|88)\\d{5}', , , , '6201234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'PW', + 680, + '01[12]', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[2-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + PY: [ + , + [ + , + , + '59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}', + , + , + , + , + , + , + [6, 7, 8, 9, 10, 11], + [5], + ], + [ + , + , + '(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-578]|75|8[0-8])|858)\\d{5,6}', + , + , + , + '212345678', + , + , + [7, 8, 9], + [5, 6], + ], + [, , '9(?:51|6[129]|[78][1-6]|9[1-5])\\d{6}', , , , '961456789', , , [9]], + [, , '9800\\d{5,7}', , , , '98000123456', , , [9, 10, 11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '8700[0-4]\\d{4}', , , , '870012345', , , [9]], + 'PY', + 595, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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-6])'], '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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '[2-9]0\\d{4,7}', , , , '201234567', , , [6, 7, 8, 9]], + , + , + [, , , , , , , , , [-1]], + ], + QA: [ + , + [, , '[2-7]\\d{7}|800\\d{4}(?:\\d{2})?|2\\d{6}', , , , , , , [7, 8, 9]], + [, , '4141\\d{4}|(?:23|4[04])\\d{6}', , , , '44123456', , , [8]], + [, , '(?:28|[35-7]\\d)\\d{6}', , , , '33123456', , , [8]], + [, , '800\\d{4}(?:\\d{2})?', , , , '8001234', , , [7, 9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'QA', + 974, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['2[126]|8']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[2-7]']], + ], + , + [, , '2(?:[12]\\d|61)\\d{4}', , , , '2123456', , , [7]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + RE: [ + , + [, , '9769\\d{5}|(?:26|[68]\\d)\\d{7}', , , , , , , [9]], + [, , '26(?:2\\d\\d|30[0-5])\\d{4}', , , , '262161234'], + [ + , + , + '(?:69(?:2\\d\\d|3(?:[06][0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-27]|8[0-8]|9[0-479]))|9769\\d)\\d{4}', + , + , + , + '692123456', + ], + [, , '80\\d{7}', , , , '801234567'], + [, , '89[1-37-9]\\d{6}', , , , '891123456'], + [, , '8(?:1[019]|2[0156]|84|90)\\d{6}', , , , '810123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'RE', + 262, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[2689]'], '0$1']], + , + [, , , , , , , , , [-1]], + 1, + '26[23]|69|[89]', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + RO: [ + , + [, , '(?:[2378]\\d|90)\\d{7}|[23]\\d{5}', , , , , , , [6, 9]], + [, , '[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d', , , , '211234567'], + [ + , + , + '7020\\d{5}|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[019])\\d{6}', + , + , + , + '712034567', + , + , + [9], + ], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '90[0136]\\d{6}', , , , '900123456', , , [9]], + [, , '801\\d{6}', , , , '801123456', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'RO', + 40, + '00', + '0', + ' int ', + , + '0', + , + , + , + [ + [, '(\\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', ['[237-9]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '(?:37\\d|80[578])\\d{6}', , , , '372123456', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + RS: [ + , + [ + , + , + '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], + [4, 5], + ], + [ + , + , + '(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}', + , + , + , + '10234567', + , + , + [7, 8, 9, 10, 11, 12], + [4, 5, 6], + ], + [, , '6(?:[0-689]|7\\d)\\d{6,7}', , , , '601234567', , , [8, 9, 10]], + [, , '800\\d{3,9}', , , , '80012345'], + [, , '(?:78\\d|90[0169])\\d{3,7}', , , , '90012345', , , [6, 7, 8, 9, 10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'RS', + 381, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '7[06]\\d{4,10}', , , , '700123456'], + , + , + [, , , , , , , , , [-1]], + ], + RU: [ + , + [, , '8\\d{13}|[347-9]\\d{9}', , , , , , , [10, 14], [7]], + [ + , + , + '(?: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]|6[1-35-79]|7[1-37-9]))\\d{7}', + , + , + , + '3011234567', + , + , + [10], + [7], + ], + [, , '9\\d{9}', , , , '9123456789', , , [10]], + [, , '8(?:0[04]|108\\d{3})\\d{7}', , , , '8001234567'], + [, , '80[39]\\d{7}', , , , '8091234567', , , [10]], + [, , , , , , , , , [-1]], + [, , '808\\d{7}', , , , '8081234567', , , [10]], + [, , , , , , , , , [-1]], + 'RU', + 7, + '810', + '8', + , + , + '8', + , + '8~10', + , + [ + [, '(\\d{3})(\\d{2})(\\d{2})', '$1-$2-$3', ['[0-79]']], + [ + , + '(\\d{4})(\\d{2})(\\d{2})(\\d{2})', + '$1 $2 $3 $4', + [ + '7(?:1[0-8]|2[1-9])', + '7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))', + '7(?:1(?:[0-6]2|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)'], + ], + [ + [ + , + '(\\d{4})(\\d{2})(\\d{2})(\\d{2})', + '$1 $2 $3 $4', + [ + '7(?:1[0-8]|2[1-9])', + '7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))', + '7(?:1(?:[0-6]2|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)'], + ], + [, , , , , , , , , [-1]], + 1, + '3[04-689]|[489]', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + RW: [ + , + [, , '(?:06|[27]\\d\\d|[89]00)\\d{6}', , , , , , , [8, 9]], + [, , '(?:06|2[23568]\\d)\\d{6}', , , , '250123456'], + [, , '7[2389]\\d{7}', , , , '720123456', , , [9]], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '900\\d{6}', , , , '900123456', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'RW', + 250, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['0']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[7-9]'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['2']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SA: [ + , + [, , '92\\d{7}|(?:[15]|8\\d)\\d{8}', , , , , , , [9, 10], [7]], + [ + , + , + '1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}', + , + , + , + '112345678', + , + , + [9], + [7], + ], + [, , '579[01]\\d{5}|5(?:[013-689]\\d|7[0-36-8])\\d{6}', , , , '512345678', , , [9]], + [, , '800\\d{7}', , , , '8001234567', , , [10]], + [, , '925\\d{6}', , , , '925012345', , , [9]], + [, , '920\\d{6}', , , , '920012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SA', + 966, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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{3,4})', '$1 $2 $3', ['81'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['8']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '811\\d{7}', , , , '8110123456', , , [10]], + , + , + [, , , , , , , , , [-1]], + ], + SB: [ + , + [, , '(?:[1-6]|[7-9]\\d\\d)\\d{4}', , , , , , , [5, 7]], + [, , '(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}', , , , '40123', , , [5]], + [ + , + , + '48\\d{3}|(?:(?:7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}', + , + , + , + '7421234', + ], + [, , '1[38]\\d{3}', , , , '18123', , , [5]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '5[12]\\d{3}', , , , '51123', , , [5]], + 'SB', + 677, + '0[01]', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{5})', '$1 $2', ['7|8[4-9]|9(?:[1-8]|9[0-8])']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SC: [ + , + [, , '8000\\d{3}|(?:[249]\\d|64)\\d{5}', , , , , , , [7]], + [, , '4[2-46]\\d{5}', , , , '4217123'], + [, , '2[5-8]\\d{5}', , , , '2510123'], + [, , '8000\\d{3}', , , , '8000000'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '971\\d{4}|(?:64|95)\\d{5}', , , , '6412345'], + 'SC', + 248, + '010|0[0-2]', + , + , + , + , + , + '00', + , + [[, '(\\d)(\\d{3})(\\d{3})', '$1 $2 $3', ['[246]|9[57]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SD: [ + , + [, , '[19]\\d{8}', , , , , , , [9]], + [, , '1(?:5\\d|8[35-7])\\d{6}', , , , '153123456'], + [, , '(?:1[0-2]|9[0-3569])\\d{7}', , , , '911231234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SD', + 249, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[19]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SE: [ + , + [ + , + , + '(?:[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], + ], + [ + , + , + '(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}', + , + , + , + '8123456', + , + , + [7, 8, 9], + ], + [, , '7[02369]\\d{7}', , , , '701234567', , , [9]], + [, , '20\\d{4,7}', , , , '20123456', , , [6, 7, 8, 9]], + [, , '649\\d{6}|9(?:00|39|44)[1-8]\\d{3,6}', , , , '9001234567', , , [7, 8, 9, 10]], + [, , '77[0-7]\\d{6}', , , , '771234567', , , [9]], + [, , '75[1-8]\\d{6}', , , , '751234567', , , [9]], + [, , , , , , , , , [-1]], + 'SE', + 46, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{2})(\\d{2,3})(\\d{2})', '$1-$2 $3', ['20'], '0$1'], + [, '(\\d{3})(\\d{4})', '$1-$2', ['9(?:00|39|44)'], '0$1'], + [ + , + '(\\d{2})(\\d{3})(\\d{2})', + '$1-$2 $3', + ['[12][136]|3[356]|4[0246]|6[03]|90[1-9]'], + '0$1', + ], + [, '(\\d)(\\d{2,3})(\\d{2})(\\d{2})', '$1-$2 $3 $4', ['8'], '0$1'], + [ + , + '(\\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', + ], + [, '(\\d{3})(\\d{2,3})(\\d{3})', '$1-$2 $3', ['9(?:00|39|44)'], '0$1'], + [ + , + '(\\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', + ], + [, '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1-$2 $3 $4', ['10|7'], '0$1'], + [, '(\\d)(\\d{3})(\\d{3})(\\d{2})', '$1-$2 $3 $4', ['8'], '0$1'], + [ + , + '(\\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', + ], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{3})', '$1-$2 $3 $4', ['9'], '0$1'], + [, '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1-$2 $3 $4 $5', ['[26]'], '0$1'], + ], + [ + [, '(\\d{2})(\\d{2,3})(\\d{2})', '$1 $2 $3', ['20']], + [, '(\\d{3})(\\d{4})', '$1 $2', ['9(?:00|39|44)']], + [, '(\\d{2})(\\d{3})(\\d{2})', '$1 $2 $3', ['[12][136]|3[356]|4[0246]|6[03]|90[1-9]']], + [, '(\\d)(\\d{2,3})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['8']], + [ + , + '(\\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])', + ], + ], + [, '(\\d{3})(\\d{2,3})(\\d{3})', '$1 $2 $3', ['9(?:00|39|44)']], + [ + , + '(\\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]'], + ], + [, '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['10|7']], + [, '(\\d)(\\d{3})(\\d{3})(\\d{2})', '$1 $2 $3 $4', ['8']], + [ + , + '(\\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])'], + ], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{3})', '$1 $2 $3 $4', ['9']], + [, '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3 $4 $5', ['[26]']], + ], + [, , '74[02-9]\\d{6}', , , , '740123456', , , [9]], + , + , + [, , , , , , , , , [-1]], + [, , '10[1-8]\\d{6}', , , , '102345678', , , [9]], + , + , + [, , '(?:25[245]|67[3-68])\\d{9}', , , , '254123456789', , , [12]], + ], + SG: [ + , + [, , '(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}', , , , , , , [8, 10, 11]], + [ + , + , + '662[0-24-9]\\d{4}|6(?:[1-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}', + , + , + , + '61234567', + , + , + [8], + ], + [ + , + , + '8(?:051|95[0-2])\\d{4}|(?:8(?:0[1-4]|[1-8]\\d|9[0-4])|9[0-8]\\d)\\d{5}', + , + , + , + '81234567', + , + , + [8], + ], + [, , '(?:18|8)00\\d{7}', , , , '18001234567', , , [10, 11]], + [, , '1900\\d{7}', , , , '19001234567', , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:3[12]\\d|666)\\d{5}', , , , '31234567', , , [8]], + 'SG', + 65, + '0[0-3]\\d', + , + , + , + , + , + , + , + [ + [, '(\\d{4,5})', '$1', ['1[013-9]|77', '1(?:[013-8]|9(?:0[1-9]|[1-9]))|77']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[369]|8(?:0[1-5]|[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']], + ], + [ + [, '(\\d{4})(\\d{4})', '$1 $2', ['[369]|8(?:0[1-5]|[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']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '7000\\d{7}', , , , '70001234567', , , [11]], + , + , + [, , , , , , , , , [-1]], + ], + SH: [ + , + [, , '(?:[256]\\d|8)\\d{3}', , , , , , , [4, 5]], + [, , '2(?:[0-57-9]\\d|6[4-9])\\d\\d', , , , '22158'], + [, , '[56]\\d{4}', , , , '51234', , , [5]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '262\\d\\d', , , , '26212', , , [5]], + 'SH', + 290, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + 1, + '[256]', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SI: [ + , + [, , '[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}', , , , , , , [5, 6, 7, 8]], + [, , '(?:[1-357][2-8]|4[24-8])\\d{6}', , , , '12345678', , , [8], [7]], + [ + , + , + '65(?:1\\d|55|[67]0)\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\d{6}', + , + , + , + '31234567', + , + , + [8], + ], + [, , '80\\d{4,6}', , , , '80123456', , , [6, 7, 8]], + [, , '89[1-3]\\d{2,5}|90\\d{4,6}', , , , '90123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [ + , + , + '(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-489])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}', + , + , + , + '59012345', + , + , + [8], + ], + 'SI', + 386, + '00|10(?:22|66|88|99)', + '0', + , + , + '0', + , + '00', + , + [ + [, '(\\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)'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SJ: [ + , + [, , '0\\d{4}|(?:[489]\\d|[57]9)\\d{6}', , , , , , , [5, 8]], + [, , '79\\d{6}', , , , '79123456', , , [8]], + [, , '(?:4[015-8]|59|9\\d)\\d{6}', , , , '41234567', , , [8]], + [, , '80[01]\\d{5}', , , , '80012345', , , [8]], + [, , '82[09]\\d{5}', , , , '82012345', , , [8]], + [, , '810(?:0[0-6]|[2-8]\\d)\\d{3}', , , , '81021234', , , [8]], + [, , '880\\d{5}', , , , '88012345', , , [8]], + [, , '85[0-5]\\d{5}', , , , '85012345', , , [8]], + 'SJ', + 47, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '79', + [, , , , , , , , , [-1]], + [, , '(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}', , , , '02000'], + , + , + [, , '81[23]\\d{5}', , , , '81212345', , , [8]], + ], + SK: [ + , + [, , '[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}', , , , , , , [6, 7, 9]], + [ + , + , + '(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d', + , + , + , + '221234567', + ], + [ + , + , + '909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}', + , + , + , + '912123456', + , + , + [9], + ], + [, , '800\\d{6}', , , , '800123456', , , [9]], + [, , '9(?:00|[78]\\d)\\d{6}', , , , '900123456', , , [9]], + [, , '8[5-9]\\d{7}', , , , '850123456', , , [9]], + [, , , , , , , , , [-1]], + [, , '6(?:02|5[0-4]|9[0-6])\\d{6}', , , , '690123456', , , [9]], + 'SK', + 421, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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{4})(\\d{3})', '$1 $2', ['909', '9090'], '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'], + ], + [ + [, '(\\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'], + ], + [, , '9090\\d{3}', , , , '9090123', , , [7]], + , + , + [, , '9090\\d{3}|(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}', , , , , , , [7, 9]], + [, , '96\\d{7}', , , , '961234567', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + SL: [ + , + [, , '(?:[237-9]\\d|66)\\d{6}', , , , , , , [8], [6]], + [, , '22[2-4][2-9]\\d{4}', , , , '22221234', , , , [6]], + [, , '(?:25|3[0-5]|66|7[3-9]|8[08]|9[09])\\d{6}', , , , '25123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SL', + 232, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{2})(\\d{6})', '$1 $2', ['[236-9]'], '(0$1)']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SM: [ + , + [, , '(?:0549|[5-7]\\d)\\d{6}', , , , , , , [8, 10], [6]], + [, , '0549(?:8[0157-9]|9\\d)\\d{4}', , , , '0549886377', , , [10], [6]], + [, , '6[16]\\d{6}', , , , '66661212', , , [8]], + [, , , , , , , , , [-1]], + [, , '7[178]\\d{6}', , , , '71123456', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '5[158]\\d{6}', , , , '58001110', , , [8]], + 'SM', + 378, + '00', + , + , + , + '([89]\\d{5})$', + '0549$1', + , + , + [ + [, '(\\d{6})', '$1', ['[89]']], + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[5-7]']], + [, '(\\d{4})(\\d{6})', '$1 $2', ['0']], + ], + [ + [, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[5-7]']], + [, '(\\d{4})(\\d{6})', '$1 $2', ['0']], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SN: [ + , + [, , '(?:[378]\\d|93)\\d{7}', , , , , , , [9]], + [, , '3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}', , , , '301012345'], + [, , '75(?:01|[38]3)\\d{5}|7(?:[06-8]\\d|21|5[4-7]|90)\\d{6}', , , , '701234567'], + [, , '800\\d{6}', , , , '800123456'], + [, , '88[4689]\\d{6}', , , , '884123456'], + [, , '81[02468]\\d{6}', , , , '810123456'], + [, , , , , , , , , [-1]], + [, , '(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}', , , , '933301234'], + 'SN', + 221, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SO: [ + , + [, , '[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}', , , , , , , [6, 7, 8, 9]], + [ + , + , + '(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}', + , + , + , + '4012345', + , + , + [6, 7], + ], + [ + , + , + '(?:(?:15|(?:3[59]|4[89]|79|8[08])\\d|6(?:0[5-7]|[1-9]\\d)|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:6\\d|7[1-9])\\d{6}', + , + , + , + '71123456', + , + , + [7, 8, 9], + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SO', + 252, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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', ['24|[67]']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[3478]|64|90']], + [, '(\\d{2})(\\d{5,7})', '$1 $2', ['1|28|6(?:0[5-7]|[1-35-9])|9[2-9]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SR: [ + , + [, , '(?:[2-5]|68|[78]\\d)\\d{5}', , , , , , , [6, 7]], + [, , '(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}', , , , '211234'], + [, , '(?:7[124-7]|8[124-9])\\d{5}', , , , '7412345', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '56\\d{4}', , , , '561234', , , [6]], + 'SR', + 597, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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-8]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SS: [ + , + [, , '[19]\\d{8}', , , , , , , [9]], + [, , '1[89]\\d{7}', , , , '181234567'], + [, , '(?:12|9[1257-9])\\d{7}', , , , '977123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SS', + 211, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[19]'], '0$1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + ST: [ + , + [, , '(?:22|9\\d)\\d{5}', , , , , , , [7]], + [, , '22\\d{5}', , , , '2221234'], + [, , '900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}', , , , '9812345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'ST', + 239, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[29]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SV: [ + , + [, , '[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?', , , , , , , [7, 8, 11]], + [, , '2(?:[1-6]\\d{3}|[79]90[034]|890[0245])\\d{3}', , , , '21234567', , , [8]], + [ + , + , + '66(?:[02-9]\\d\\d|1(?:[02-9]\\d|16))\\d{3}|(?:6[0-57-9]|7\\d)\\d{6}', + , + , + , + '70123456', + , + , + [8], + ], + [, , '800\\d{4}(?:\\d{4})?', , , , '8001234', , , [7, 11]], + [, , '900\\d{4}(?:\\d{4})?', , , , '9001234', , , [7, 11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SV', + 503, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[89]']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['[267]']], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['[89]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SX: [ + , + [, , '7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [, , '7215(?:4[2-8]|8[239]|9[056])\\d{4}', , , , '7215425678', , , , [7]], + [, , '7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}', , , , '7215205678', , , , [7]], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002123456'], + [, , '900[2-9]\\d{6}', , , , '9002123456'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'SX', + 1, + '011', + '1', + , + , + '1|(5\\d{6})$', + '721$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '721', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SY: [ + , + [, , '[1-39]\\d{8}|[1-5]\\d{7}', , , , , , , [8, 9], [6, 7]], + [ + , + , + '21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}', + , + , + , + '112345678', + , + , + , + [6, 7], + ], + [, , '9(?:22|[3-689]\\d)\\d{6}', , , , '944567890', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'SY', + 963, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + SZ: [ + , + [, , '0800\\d{4}|(?:[237]\\d|900)\\d{6}', , , , , , , [8, 9]], + [, , '[23][2-5]\\d{6}', , , , '22171234', , , [8]], + [, , '7[6-9]\\d{6}', , , , '76123456', , , [8]], + [, , '0800\\d{4}', , , , '08001234', , , [8]], + [, , '900\\d{6}', , , , '900012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '70\\d{6}', , , , '70012345', , , [8]], + 'SZ', + 268, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{4})(\\d{4})', '$1 $2', ['[0237]']], + [, '(\\d{5})(\\d{4})', '$1 $2', ['9']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '0800\\d{4}', , , , , , , [8]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TA: [ + , + [, , '8\\d{3}', , , , , , , [4]], + [, , '8\\d{3}', , , , '8999'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TA', + 290, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '8', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TC: [ + , + [, , '(?:[58]\\d\\d|649|900)\\d{7}', , , , , , , [10], [7]], + [, , '649(?:266|712|9(?:4\\d|50))\\d{4}', , , , '6497121234', , , , [7]], + [ + , + , + '649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}', + , + , + , + '6492311234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , '649(?:71[01]|966)\\d{4}', , , , '6497101234', , , , [7]], + 'TC', + 1, + '011', + '1', + , + , + '1|([2-479]\\d{6})$', + '649$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '649', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TD: [ + , + [, , '(?:22|[69]\\d|77)\\d{6}', , , , , , , [8]], + [, , '22(?:[37-9]0|5[0-5]|6[89])\\d{4}', , , , '22501234'], + [, , '(?:6[023568]|77|9\\d)\\d{6}', , , , '63012345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TD', + 235, + '00|16', + , + , + , + , + , + '00', + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[2679]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TG: [ + , + [, , '[279]\\d{7}', , , , , , , [8]], + [, , '2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}', , , , '22212345'], + [, , '(?:7[09]|9[0-36-9])\\d{6}', , , , '90112345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TG', + 228, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[279]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TH: [ + , + [, , '(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}', , , , , , , [8, 9, 10, 13]], + [, , '(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}', , , , '21234567', , , [8]], + [, , '671[0-8]\\d{5}|(?:14|6[1-6]|[89]\\d)\\d{7}', , , , '812345678', , , [9]], + [, , '(?:001800\\d|1800)\\d{6}', , , , '1800123456', , , [10, 13]], + [, , '1900\\d{6}', , , , '1900123456', , , [10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '6[08]\\d{7}', , , , '601234567', , , [9]], + 'TH', + 66, + '00[1-9]', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TJ: [ + , + [, , '(?:00|[1-57-9]\\d)\\d{7}', , , , , , , [9], [3, 5, 6, 7]], + [ + , + , + '(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}', + , + , + , + '372123456', + , + , + , + [3, 5, 6, 7], + ], + [ + , + , + '41[18]\\d{6}|(?:[034]0|1[01]|2[02]|5[05]|7[017]|8[08]|9\\d)\\d{7}', + , + , + , + '917123456', + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TJ', + 992, + '810', + , + , + , + , + , + '8~10', + , + [ + [, '(\\d{6})(\\d)(\\d{2})', '$1 $2 $3', ['331', '3317']], + [, '(\\d{3})(\\d{2})(\\d{4})', '$1 $2 $3', ['[34]7|91[78]']], + [, '(\\d{4})(\\d)(\\d{4})', '$1 $2 $3', ['3[1-5]']], + [, '(\\d{2})(\\d{3})(\\d{4})', '$1 $2 $3', ['[0-57-9]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TK: [ + , + [, , '[2-47]\\d{3,6}', , , , , , , [4, 5, 6, 7]], + [, , '(?:2[2-4]|[34]\\d)\\d{2,5}', , , , '3101'], + [, , '7[2-4]\\d{2,5}', , , , '7290'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TK', + 690, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TL: [ + , + [, , '7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}', , , , , , , [7, 8]], + [, , '(?:2[1-5]|3[1-9]|4[1-4])\\d{5}', , , , '2112345', , , [7]], + [, , '7[2-8]\\d{6}', , , , '77212345', , , [8]], + [, , '80\\d{5}', , , , '8012345', , , [7]], + [, , '90\\d{5}', , , , '9012345', , , [7]], + [, , , , , , , , , [-1]], + [, , '70\\d{5}', , , , '7012345', , , [7]], + [, , , , , , , , , [-1]], + 'TL', + 670, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[2-489]|70']], + [, '(\\d{4})(\\d{4})', '$1 $2', ['7']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TM: [ + , + [, , '[1-6]\\d{7}', , , , , , , [8]], + [ + , + , + '(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}', + , + , + , + '12345678', + ], + [, , '6\\d{7}', , , , '66123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TM', + 993, + '810', + '8', + , + , + '8', + , + '8~10', + , + [ + [, '(\\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', ['6'], '8 $1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TN: [ + , + [, , '[2-57-9]\\d{7}', , , , , , , [8]], + [, , '81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}', , , , '30010123'], + [ + , + , + '3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-7])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}', + , + , + , + '20123456', + ], + [, , '8010\\d{4}', , , , '80101234'], + [, , '88\\d{6}', , , , '88123456'], + [, , '8[12]10\\d{4}', , , , '81101234'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TN', + 216, + '00', + , + , + , + , + , + , + , + [[, '(\\d{2})(\\d{3})(\\d{3})', '$1 $2 $3', ['[2-57-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TO: [ + , + [, , '(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}', , , , , , , [5, 7]], + [, , '(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}', , , , '20123', , , [5]], + [ + , + , + '(?:55[4-6]|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}', + , + , + , + '7715123', + , + , + [7], + ], + [, , '0800\\d{3}', , , , '0800222', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '55[0-37-9]\\d{4}', , , , '5510123', , , [7]], + 'TO', + 676, + '00', + , + , + , + , + , + , + , + [ + [, '(\\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]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TR: [ + , + [, , '4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}', , , , , , , [7, 10, 12, 13]], + [ + , + , + '(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}', + , + , + , + '2123456789', + , + , + [10], + ], + [ + , + , + '56161\\d{5}|5(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{7}', + , + , + , + '5012345678', + , + , + [10], + ], + [, , '8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})', , , , '8001234567', , , [10, 12, 13]], + [, , '(?:8[89]8|900)\\d{7}', , , , '9001234567', , , [10]], + [, , , , , , , , , [-1]], + [, , '592(?:21[12]|461)\\d{4}', , , , '5922121234', , , [10]], + [, , '850\\d{7}', , , , '8500123456', , , [10]], + 'TR', + 90, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d)(\\d{3})', '$1 $2 $3', ['444'], , , 1], + [, '(\\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]|616)', '5(?:[0-59]|6161)'], + '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], + ], + [ + [, '(\\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]|616)', '5(?:[0-59]|6161)'], + '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], + ], + [, , '512\\d{7}', , , , '5123456789', , , [10]], + , + , + [, , '(?:444|811\\d{3})\\d{4}', , , , , , , [7, 10]], + [, , '444\\d{4}', , , , '4441444', , , [7]], + , + , + [, , , , , , , , , [-1]], + ], + TT: [ + , + [, , '(?:[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '868(?:2(?:0[13]|1[89]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}', + , + , + , + '8682211234', + , + , + , + [7], + ], + [ + , + , + '868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}', + , + , + , + '8682911234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'TT', + 1, + '011', + '1', + , + , + '1|([2-46-8]\\d{6})$', + '868$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '868', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , '868619\\d{4}', , , , '8686191234', , , , [7]], + ], + TV: [ + , + [, , '(?:2|7\\d\\d|90)\\d{4}', , , , , , , [5, 6, 7]], + [, , '2[02-9]\\d{3}', , , , '20123', , , [5]], + [, , '(?:7[01]\\d|90)\\d{4}', , , , '901234', , , [6, 7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'TV', + 688, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{2})(\\d{3})', '$1 $2', ['2']], + [, '(\\d{2})(\\d{4})', '$1 $2', ['90']], + [, '(\\d{2})(\\d{5})', '$1 $2', ['7']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + TW: [ + , + [, , '[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}', , , , , , , [7, 8, 9, 10, 11]], + [ + , + , + '(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}', + , + , + , + '221234567', + , + , + [8, 9], + ], + [, , '(?:40001[0-2]|9[0-8]\\d{4})\\d{3}', , , , '912345678', , , [9]], + [, , '80[0-79]\\d{6}|800\\d{5}', , , , '800123456', , , [8, 9]], + [, , '20(?:[013-9]\\d\\d|2)\\d{4}', , , , '203123456', , , [7, 9]], + [, , , , , , , , , [-1]], + [, , '99\\d{7}', , , , '990123456', , , [9]], + [ + , + , + '7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}', + , + , + , + '7012345678', + , + , + [10, 11], + ], + 'TW', + 886, + '0(?:0[25-79]|19)', + '0', + '#', + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '50[0-46-9]\\d{6}', , , , '500123456', , , [9]], + , + , + [, , , , , , , , , [-1]], + ], + TZ: [ + , + [, , '(?:[26-8]\\d|41|90)\\d{7}', , , , , , , [9]], + [, , '2[2-8]\\d{7}', , , , '222345678'], + [, , '77[2-9]\\d{6}|(?:6[1-9]|7[1-689])\\d{7}', , , , '621234567'], + [, , '80[08]\\d{6}', , , , '800123456'], + [, , '90\\d{7}', , , , '900123456'], + [, , '8(?:40|6[01])\\d{6}', , , , '840123456'], + [, , , , , , , , , [-1]], + [, , '41\\d{7}', , , , '412345678'], + 'TZ', + 255, + '00[056]', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[67]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , '(?:8(?:[04]0|6[01])|90\\d)\\d{6}'], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + UA: [ + , + [, , '[89]\\d{9}|[3-9]\\d{8}', , , , , , , [9, 10], [5, 6, 7]], + [, , '(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}', , , , '311234567', , , [9], [5, 6, 7]], + [, , '(?:50|6[36-8]|7[1-3]|9[1-9])\\d{7}', , , , '501234567', , , [9]], + [, , '800[1-8]\\d{5,6}', , , , '800123456'], + [, , '900[239]\\d{5,6}', , , , '900212345'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '89[1-579]\\d{6}', , , , '891234567', , , [9]], + 'UA', + 380, + '00', + '0', + , + , + '0', + , + '0~0', + , + [ + [ + , + '(\\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{2})(\\d{3})(\\d{4})', + '$1 $2 $3', + [ + '4[45][0-5]|5(?:0|6[37])|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]', + '4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]', + ], + '0$1', + ], + [, '(\\d{4})(\\d{5})', '$1 $2', ['[3-6]'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[89]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + UG: [ + , + [, , '800\\d{6}|(?:[29]0|[347]\\d)\\d{7}', , , , , , , [9], [5, 6, 7]], + [ + , + , + '20(?:(?:(?:24|81)0|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[0147]\\d|2[5-9]|32|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}', + , + , + , + '312345678', + , + , + , + [5, 6, 7], + ], + [, , '726[01]\\d{5}|7(?:[0157-9]\\d|20|36|[46][0-4])\\d{6}', , , , '712345678'], + [, , '800[1-3]\\d{5}', , , , '800123456'], + [, , '90[1-3]\\d{6}', , , , '901123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'UG', + 256, + '00[057]', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + US: [ + , + [, , '[2-9]\\d{9}', , , , , , , [10], [7]], + [ + , + , + '5(?:05(?:[2-57-9]\\d\\d|6(?:[0-35-9]\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|33)|4(?:00|4[24]|65|82)|5(?:00|29|83)|6(?:00|66|82)|777|8(?:00|88)|9(?:00|9[89])))\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[39]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[0179]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01579]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', + , + , + , + '2015550123', + , + , + , + [7], + ], + [ + , + , + '5(?:05(?:[2-57-9]\\d\\d|6(?:[0-35-9]\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|33)|4(?:00|4[24]|65|82)|5(?:00|29|83)|6(?:00|66|82)|777|8(?:00|88)|9(?:00|9[89])))\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[39]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[0179]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01579]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', + , + , + , + '2015550123', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'US', + 1, + '011', + '1', + , + , + '1', + , + , + 1, + [ + [, '(\\d{3})(\\d{4})', '$1-$2', ['[2-9]']], + [, '(\\d{3})(\\d{3})(\\d{4})', '($1) $2-$3', ['[2-9]'], , , 1], + ], + [[, '(\\d{3})(\\d{3})(\\d{4})', '$1-$2-$3', ['[2-9]']]], + [, , , , , , , , , [-1]], + 1, + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + UY: [ + , + [, , '4\\d{9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}', , , , , , , [7, 8, 10]], + [, , '(?:1(?:770|987)|(?:2\\d|4[2-7])\\d\\d)\\d{4}', , , , '21231234', , , [8], [7]], + [, , '9[1-9]\\d{6}', , , , '94231234', , , [8]], + [, , '(?:4\\d{5}|80[05])\\d{4}|405\\d{4}', , , , '8001234', , , [7, 10]], + [, , '90[0-8]\\d{4}', , , , '9001234', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'UY', + 598, + '0(?:0|1[3-9]\\d)', + '0', + ' int. ', + , + '0', + , + '00', + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['405|8|90'], '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{4})', '$1 $2 $3', ['4'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + UZ: [ + , + [, , '(?:33|55|[679]\\d|88)\\d{7}', , , , , , , [9]], + [ + , + , + '(?:6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d\\d|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|8\\d)\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}', + , + , + , + '669050123', + ], + [ + , + , + '(?:(?:33|88|9[0-57-9])\\d{3}|55(?:50[013]|90\\d)|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\d|7[0-4])|(?:5[67]|7\\d)\\d|6(?:2[0-26]|8\\d)))|7(?:[07]\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}', + , + , + , + '912345678', + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'UZ', + 998, + '810', + '8', + , + , + '8', + , + '8~10', + , + [[, '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[35-9]'], '8 $1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + VA: [ + , + [ + , + , + '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], + ], + [, , '06698\\d{1,6}', , , , '0669812345', , , [6, 7, 8, 9, 10, 11]], + [, , '3[1-9]\\d{8}|3[2-9]\\d{7}', , , , '3123456789', , , [9, 10]], + [, , '80(?:0\\d{3}|3)\\d{3}', , , , '800123456', , , [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}', + , + , + , + '899123456', + , + , + [6, 8, 9, 10], + ], + [, , '84(?:[08]\\d{3}|[17])\\d{3}', , , , '848123456', , , [6, 9]], + [, , '1(?:78\\d|99)\\d{6}', , , , '1781234567', , , [9, 10]], + [, , '55\\d{8}', , , , '5512345678', , , [10]], + 'VA', + 39, + '00', + , + , + , + , + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '06698', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , '3[2-8]\\d{9,10}', , , , '33101234501', , , [11, 12]], + ], + VC: [ + , + [, , '(?:[58]\\d\\d|784|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}', + , + , + , + '7842661234', + , + , + , + [7], + ], + [ + , + , + '784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}', + , + , + , + '7844301234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'VC', + 1, + '011', + '1', + , + , + '1|([2-7]\\d{6})$', + '784$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '784', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + VE: [ + , + [, , '[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}', , , , , , , [10], [7]], + [ + , + , + '(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}', + , + , + , + '2121234567', + , + , + , + [7], + ], + [, , '4(?:1[24-8]|2[46])\\d{7}', , , , '4121234567'], + [, , '800\\d{7}', , , , '8001234567'], + [, , '90[01]\\d{7}', , , , '9001234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'VE', + 58, + '00', + '0', + , + , + '0', + , + , + , + [[, '(\\d{3})(\\d{7})', '$1-$2', ['[24-689]'], '0$1', '$CC $1']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '501\\d{7}', , , , '5010123456', , , , [7]], + , + , + [, , , , , , , , , [-1]], + ], + VG: [ + , + [, , '(?:284|[58]\\d\\d|900)\\d{7}', , , , , , , [10], [7]], + [ + , + , + '284496[0-5]\\d{3}|284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}', + , + , + , + '2842291234', + , + , + , + [7], + ], + [ + , + , + '284496[6-9]\\d{3}|284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|99)|5(?:4[0-7]|68|9[69]))\\d{4}', + , + , + , + '2843001234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'VG', + 1, + '011', + '1', + , + , + '1|([2-578]\\d{6})$', + '284$1', + , + , + , + , + [, , , , , , , , , [-1]], + , + '284', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + VI: [ + , + [, , '[58]\\d{9}|(?:34|90)0\\d{7}', , , , , , , [10], [7]], + [ + , + , + '340(?:2(?:0[0-38]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', + , + , + , + '3406421234', + , + , + , + [7], + ], + [ + , + , + '340(?:2(?:0[0-38]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}', + , + , + , + '3406421234', + , + , + , + [7], + ], + [, , '8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', , , , '8002345678'], + [, , '900[2-9]\\d{6}', , , , '9002345678'], + [, , , , , , , , , [-1]], + [ + , + , + '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[12]|33|44|66|77|88)[2-9]\\d{6}', + , + , + , + '5002345678', + ], + [, , , , , , , , , [-1]], + 'VI', + 1, + '011', + '1', + , + , + '1|([2-9]\\d{6})$', + '340$1', + , + 1, + , + , + [, , , , , , , , , [-1]], + , + '340', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + VN: [ + , + [, , '[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}', , , , , , , [7, 8, 9, 10]], + [ + , + , + '2(?:0[3-9]|1[0-689]|2[0-25-9]|3[2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|8[2-79]|9[0-4679])\\d{7}', + , + , + , + '2101234567', + , + , + [10], + ], + [ + , + , + '(?:5(?:2[238]|59)|89[689]|99[013-9])\\d{6}|(?:3\\d|5[689]|7[06-9]|8[1-8]|9[0-8])\\d{7}', + , + , + , + '912345678', + , + , + [9], + ], + [, , '1800\\d{4,6}|12(?:0[13]|28)\\d{4}', , , , '1800123456', , , [8, 9, 10]], + [, , '1900\\d{4,6}', , , , '1900123456', , , [8, 9, 10]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '672\\d{6}', , , , '672012345', , , [9]], + 'VN', + 84, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{4})', '$1 $2', ['[17]99'], '0$1', , 1], + [, '(\\d{2})(\\d{5})', '$1 $2', ['80'], '0$1', , 1], + [, '(\\d{3})(\\d{4,5})', '$1 $2', ['69'], '0$1', , 1], + [, '(\\d{4})(\\d{4,6})', '$1 $2', ['1'], , , 1], + [, '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[69]'], '0$1', , 1], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[3578]'], '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], + ], + [ + [, '(\\d{2})(\\d{5})', '$1 $2', ['80'], '0$1', , 1], + [, '(\\d{4})(\\d{4,6})', '$1 $2', ['1'], , , 1], + [, '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['[69]'], '0$1', , 1], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[3578]'], '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], + ], + [, , , , , , , , , [-1]], + , + , + [, , '[17]99\\d{4}|69\\d{5,6}', , , , , , , [7, 8]], + [, , '(?:[17]99|80\\d)\\d{4}|69\\d{5,6}', , , , '1992000', , , [7, 8]], + , + , + [, , , , , , , , , [-1]], + ], + VU: [ + , + [, , '[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}', , , , , , , [5, 7]], + [, , '(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}', , , , '22123', , , [5]], + [, , '(?:[58]\\d|7[013-7])\\d{5}', , , , '5912345', , , [7]], + [, , '81[18]\\d\\d', , , , '81123', , , [5]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '9(?:0[1-9]|1[01])\\d{4}', , , , '9010123', , , [7]], + 'VU', + 678, + '00', + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{4})', '$1 $2', ['[57-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '(?:3[03]|900\\d)\\d{3}', , , , '30123'], + , + , + [, , , , , , , , , [-1]], + ], + WF: [ + , + [, , '(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?', , , , , , , [6, 9]], + [, , '72\\d{4}', , , , '721234', , , [6]], + [, , '(?:72|8[23])\\d{4}', , , , '821234', , , [6]], + [, , '80[0-5]\\d{6}', , , , '800012345', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'WF', + 681, + '00', + , + , + , + , + , + , + , + [ + [, '(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3', ['[478]']], + [, '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', '$1 $2 $3 $4', ['8']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , '[48]0\\d{4}', , , , '401234', , , [6]], + ], + WS: [ + , + [, , '(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}', , , , , , , [5, 6, 7, 10]], + [, , '6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}', , , , '22123', , , [5, 6]], + [, , '(?:7[1-35-7]|8(?:[3-7]|9\\d{3}))\\d{5}', , , , '7212345', , , [7, 10]], + [, , '800\\d{3}', , , , '800123', , , [6]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'WS', + 685, + '0', + , + , + , + , + , + , + , + [ + [, '(\\d{5})', '$1', ['[2-5]|6[1-9]']], + [, '(\\d{3})(\\d{3,7})', '$1 $2', ['[68]']], + [, '(\\d{2})(\\d{5})', '$1 $2', ['7']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + XK: [ + , + [, , '[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}', , , , , , , [8, 9]], + [, , '(?:2[89]|39)0\\d{6}|[23][89]\\d{6}', , , , '28012345'], + [, , '4[3-9]\\d{6}', , , , '43201234', , , [8]], + [, , '800\\d{5}', , , , '80001234', , , [8]], + [, , '900\\d{5}', , , , '90001234', , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'XK', + 383, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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', ['[23]'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + YE: [ + , + [, , '(?:1|7\\d)\\d{7}|[1-7]\\d{6}', , , , , , , [7, 8, 9], [6]], + [ + , + , + '78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}', + , + , + , + '1234567', + , + , + [7, 8], + [6], + ], + [, , '7[0137]\\d{7}', , , , '712345678', , , [9]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'YE', + 967, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d)(\\d{3})(\\d{3,4})', '$1 $2 $3', ['[1-6]|7[24-68]'], '0$1'], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['7'], '0$1'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + YT: [ + , + [, , '80\\d{7}|(?:26|63)9\\d{6}', , , , , , , [9]], + [, , '269(?:0[67]|5[0-3]|6\\d|[78]0)\\d{4}', , , , '269601234'], + [, , '639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}', , , , '639012345'], + [, , '80\\d{7}', , , , '801234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + 'YT', + 262, + '00', + '0', + , + , + '0', + , + , + , + , + , + [, , , , , , , , , [-1]], + , + '269|63', + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + ZA: [ + , + [, , '[1-79]\\d{8}|8\\d{4,9}', , , , , , , [5, 6, 7, 8, 9, 10]], + [ + , + , + '(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}', + , + , + , + '101234567', + , + , + [9], + ], + [ + , + , + '(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d|7[0-46-9])\\d{3}|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}', + , + , + , + '711234567', + , + , + [5, 6, 7, 8, 9], + ], + [, , '80\\d{7}', , , , '801234567', , , [9]], + [, , '(?:86[2-9]|9[0-2]\\d)\\d{6}', , , , '862345678', , , [9]], + [, , '860\\d{6}', , , , '860123456', , , [9]], + [, , , , , , , , , [-1]], + [ + , + , + '87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}', + , + , + , + '871234567', + , + , + [9], + ], + 'ZA', + 27, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '861\\d{6,7}', , , , '861123456', , , [9, 10]], + , + , + [, , , , , , , , , [-1]], + ], + ZM: [ + , + [, , '800\\d{6}|(?:21|63|[79]\\d)\\d{7}', , , , , , , [9], [6]], + [, , '21[1-8]\\d{6}', , , , '211234567', , , , [6]], + [, , '(?:7[679]|9[5-8])\\d{7}', , , , '955123456'], + [, , '800\\d{6}', , , , '800123456'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '63\\d{7}', , , , '630123456'], + 'ZM', + 260, + '00', + '0', + , + , + '0', + , + , + , + [ + [, '(\\d{3})(\\d{3})', '$1 $2', ['[1-9]']], + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[28]'], '0$1'], + [, '(\\d{2})(\\d{7})', '$1 $2', ['[79]'], '0$1'], + ], + [ + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[28]'], '0$1'], + [, '(\\d{2})(\\d{7})', '$1 $2', ['[79]'], '0$1'], + ], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + ZW: [ + , + [ + , + , + '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], + [3, 4], + ], + [ + , + , + '(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}', + , + , + , + '1312345', + , + , + , + [3, 4], + ], + [, , '7(?:[178]\\d|3[1-9])\\d{6}', , , , '712345678', , , [9]], + [, , '80(?:[01]\\d|20|8[0-8])\\d{3}', , , , '8001234', , , [7]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '86(?:1[12]|22|30|44|55|77|8[368])\\d{6}', , , , '8686123456', , , [10]], + 'ZW', + 263, + '00', + '0', + , + , + '0', + , + , + , + [ + [ + , + '(\\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'], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 800: [ + , + [, , '(?:005|[1-9]\\d\\d)\\d{5}', , , , , , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:005|[1-9]\\d\\d)\\d{5}', , , , '12345678'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + '001', + 800, + , + , + , + , + , + , + , + 1, + [[, '(\\d{4})(\\d{4})', '$1 $2', ['\\d']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 808: [ + , + [, , '[1-9]\\d{7}', , , , , , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '[1-9]\\d{7}', , , , '12345678'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + '001', + 808, + , + , + , + , + , + , + , + 1, + [[, '(\\d{4})(\\d{4})', '$1 $2', ['[1-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 870: [ + , + [, , '7\\d{11}|[35-7]\\d{8}', , , , , , , [9, 12]], + [, , , , , , , , , [-1]], + [, , '(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}', , , , '301234567'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + '001', + 870, + , + , + , + , + , + , + , + , + [[, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['[35-7]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 878: [ + , + [, , '10\\d{10}', , , , , , , [12]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '10\\d{10}', , , , '101234567890'], + '001', + 878, + , + , + , + , + , + , + , + 1, + [[, '(\\d{2})(\\d{5})(\\d{5})', '$1 $2 $3', ['1']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 881: [ + , + [, , '[0-36-9]\\d{8}', , , , , , , [9]], + [, , , , , , , , , [-1]], + [, , '[0-36-9]\\d{8}', , , , '612345678'], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + '001', + 881, + , + , + , + , + , + , + , + , + [[, '(\\d)(\\d{3})(\\d{5})', '$1 $2 $3', ['[0-36-9]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 882: [ + , + [ + , + , + '[13]\\d{6}(?:\\d{2,5})?|285\\d{9}|(?:[19]\\d|49)\\d{6}', + , + , + , + , + , + , + [7, 8, 9, 10, 11, 12], + ], + [, , , , , , , , , [-1]], + [ + , + , + '342\\d{4}|(?:337|49)\\d{6}|3(?:2|47|7\\d{3})\\d{7}', + , + , + , + '3421234', + , + , + [7, 8, 9, 10, 12], + ], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [ + , + , + '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})|(?:(?:285\\d\\d|3(?:45|[69]\\d{3}))\\d|9[89])\\d{6}', + , + , + , + '390123456789', + ], + '001', + 882, + , + , + , + , + , + , + , + , + [ + [, '(\\d{2})(\\d{5})', '$1 $2', ['16|342']], + [, '(\\d{2})(\\d{6})', '$1 $2', ['4']], + [, '(\\d{2})(\\d{2})(\\d{4})', '$1 $2 $3', ['[19]']], + [, '(\\d{2})(\\d{4})(\\d{3})', '$1 $2 $3', ['3[23]']], + [, '(\\d{2})(\\d{3,4})(\\d{4})', '$1 $2 $3', ['1']], + [, '(\\d{2})(\\d{4})(\\d{4})', '$1 $2 $3', ['34[57]']], + [, '(\\d{3})(\\d{4})(\\d{4})', '$1 $2 $3', ['34']], + [, '(\\d{2})(\\d{4,5})(\\d{5})', '$1 $2 $3', ['[1-3]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , '348[57]\\d{7}', , , , '34851234567', , , [11]], + ], + 883: [ + , + [, , '(?:210|370\\d\\d)\\d{7}|51\\d{7}(?:\\d{3})?', , , , , , , [9, 10, 12]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '(?:210|(?:370[1-9]|51[013]0)\\d)\\d{7}|5100\\d{5}', , , , '510012345'], + '001', + 883, + , + , + , + , + , + , + , + 1, + [ + [, '(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3', ['510']], + [, '(\\d{3})(\\d{3})(\\d{4})', '$1 $2 $3', ['2']], + [, '(\\d{4})(\\d{4})(\\d{4})', '$1 $2 $3', ['51[13]']], + [, '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', '$1 $2 $3 $4', ['[35]']], + ], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + 888: [ + , + [, , '\\d{11}', , , , , , , [11]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + '001', + 888, + , + , + , + , + , + , + , + 1, + [[, '(\\d{3})(\\d{3})(\\d{5})', '$1 $2 $3']], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , '\\d{11}', , , , '12345678901'], + , + , + [, , , , , , , , , [-1]], + ], + 979: [ + , + [, , '[1359]\\d{8}', , , , , , , [9], [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , '[1359]\\d{8}', , , , '123456789', , , , [8]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + '001', + 979, + , + , + , + , + , + , + , + 1, + [[, '(\\d)(\\d{4})(\\d{4})', '$1 $2 $3', ['[1359]']]], + , + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + [, , , , , , , , , [-1]], + , + , + [, , , , , , , , , [-1]], + ], + }; /* + + Copyright (C) 2010 The Libphonenumber Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + function H() { + this.g = {}; + } + H.g = void 0; + H.h = function () { + return H.g ? H.g : (H.g = new H()); + }; + var wa = { + 0: '0', + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + '\uff10': '0', + '\uff11': '1', + '\uff12': '2', + '\uff13': '3', + '\uff14': '4', + '\uff15': '5', + '\uff16': '6', + '\uff17': '7', + '\uff18': '8', + '\uff19': '9', + '\u0660': '0', + '\u0661': '1', + '\u0662': '2', + '\u0663': '3', + '\u0664': '4', + '\u0665': '5', + '\u0666': '6', + '\u0667': '7', + '\u0668': '8', + '\u0669': '9', + '\u06f0': '0', + '\u06f1': '1', + '\u06f2': '2', + '\u06f3': '3', + '\u06f4': '4', + '\u06f5': '5', + '\u06f6': '6', + '\u06f7': '7', + '\u06f8': '8', + '\u06f9': '9', + }, + xa = { + 0: '0', + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + '+': '+', + '*': '*', + '#': '#', + }, + ya = { + 0: '0', + 1: '1', + 2: '2', + 3: '3', + 4: '4', + 5: '5', + 6: '6', + 7: '7', + 8: '8', + 9: '9', + '\uff10': '0', + '\uff11': '1', + '\uff12': '2', + '\uff13': '3', + '\uff14': '4', + '\uff15': '5', + '\uff16': '6', + '\uff17': '7', + '\uff18': '8', + '\uff19': '9', + '\u0660': '0', + '\u0661': '1', + '\u0662': '2', + '\u0663': '3', + '\u0664': '4', + '\u0665': '5', + '\u0666': '6', + '\u0667': '7', + '\u0668': '8', + '\u0669': '9', + '\u06f0': '0', + '\u06f1': '1', + '\u06f2': '2', + '\u06f3': '3', + '\u06f4': '4', + '\u06f5': '5', + '\u06f6': '6', + '\u06f7': '7', + '\u06f8': '8', + '\u06f9': '9', + A: '2', + B: '2', + C: '2', + D: '3', + E: '3', + F: '3', + G: '4', + H: '4', + I: '4', + J: '5', + K: '5', + L: '5', + M: '6', + N: '6', + O: '6', + P: '7', + Q: '7', + R: '7', + S: '7', + T: '8', + U: '8', + V: '8', + W: '9', + X: '9', + Y: '9', + Z: '9', + }, + za = /[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/, + Aa = RegExp('[+\uff0b]+'), + I = RegExp('^[+\uff0b]+'), + Ba = RegExp('([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])'), + Ca = RegExp('[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]'), + Da = /[\\\/] *x/, + Ea = RegExp('[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$'), + Fa = /(?:.*?[A-Za-z]){3}.*/; + function J(a) { + return '([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,' + a + '})'; + } + function Ga() { + return ( + ';ext=' + + J('20') + + '|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|anexo)[:\\.\uff0e]?[ \u00a0\\t,-]*' + + (J('20') + + '#?|[ \u00a0\\t,]*(?:[x\uff58#\uff03~\uff5e]|int|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*') + + (J('9') + '#?|[- ]+') + + (J('6') + '#|[ \u00a0\\t]*(?:,{2}|;)[:\\.\uff0e]?[ \u00a0\\t,-]*') + + (J('15') + '#?|[ \u00a0\\t]*(?:,)+[:\\.\uff0e]?[ \u00a0\\t,-]*') + + (J('9') + '#?') + ); + } + var Ha = new RegExp('(?:' + Ga() + ')$', 'i'), + Ia = new RegExp( + '^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:' + + Ga() + + ')?$', + 'i', + ), + Ja = /(\$\d)/, + Ka = /^\(?\$1\)?$/; + function La(a) { + return 2 > a.length ? !1 : K(Ia, a); + } + function Ma(a) { + return K(Fa, a) ? L(a, ya) : L(a, wa); + } + function Na(a) { + var b = Ma(a.toString()); + A(a); + a.g(b); + } + function Oa() { + return Object.keys(G).filter(function (a) { + return isNaN(a); + }); + } + function Pa() { + return Object.keys(G) + .filter(function (a) { + return !isNaN(a); + }) + .map(function (a) { + return parseInt(a, 10); + }); + } + function Qa() { + var a = Object.keys(F); + return [ + ...Pa(), + ...a.map(function (b) { + return parseInt(b, 10); + }), + ]; + } + function Ra(a) { + return null != a && (1 != v(a, 9) || -1 != r(a, 9)[0]); + } + function L(a, b) { + for (var c = new z(), d, e = a.length, f = 0; f < e; ++f) + (d = a.charAt(f)), (d = b[d.toUpperCase()]), null != d && c.g(d); + return c.toString(); + } + function Sa(a) { + return 0 == a.length || Ka.test(a); + } + function M(a) { + return null != a && isNaN(a) && a.toUpperCase() in G; + } + function N(a, b, c) { + if (0 == n(b, 2) && m(b, 5)) { + var d = u(b, 5); + if (0 < d.length) return d; + } + d = u(b, 1); + var e = O(b); + if (0 == c) return Ta(d, 0, e, ''); + if (!(d in F)) return e; + a = P(a, d, R(d)); + b = Ua(b, a, c); + e = Va(e, a, c); + return Ta(d, c, e, b); + } + function P(a, b, c) { + return '001' == c ? S(a, '' + b) : S(a, c); + } + function Wa(a, b) { + var c = T; + if (!M(b)) return N(c, a, 1); + var d = u(a, 1), + e = O(a); + if (!(d in F)) return e; + if (1 == d) { + if (null != b && F[1].includes(b.toUpperCase())) return d + ' ' + N(c, a, 2); + } else if (d == Xa(c, b)) return N(c, a, 2); + var f = S(c, b), + g = u(f, 11); + b = ''; + m(f, 17) ? (b = u(f, 17)) : K(za, g) && (b = g); + c = P(c, d, R(d)); + e = Va(e, c, 1); + a = Ua(a, c, 1); + return 0 < b.length ? b + ' ' + d + ' ' + e + a : Ta(d, 1, e, a); + } + function O(a) { + if (!m(a, 2)) return ''; + var b = '' + n(a, 2); + return m(a, 4) && n(a, 4) && 0 < u(a, 8) ? Array(u(a, 8) + 1).join('0') + b : b; + } + function Ta(a, b, c, d) { + switch (b) { + case 0: + return '+' + a + c + d; + case 1: + return '+' + a + ' ' + c + d; + case 3: + return 'tel:+' + a + '-' + c + d; + default: + return c + d; + } + } + function Va(a, b, c) { + a: { + b = 0 == r(b, 20).length || 2 == c ? r(b, 19) : r(b, 20); + for (var d, e = b.length, f = 0; f < e; ++f) { + d = b[f]; + var g = v(d, 3); + if (0 == g || 0 == a.search(n(d, 3, g - 1))) + if (((g = new RegExp(n(d, 1))), K(g, a))) { + b = d; + break a; + } + } + b = null; + } + null == b + ? (c = a) + : ((e = b), + (b = u(e, 2)), + (d = new RegExp(n(e, 1))), + u(e, 5), + (e = u(e, 4)), + (a = + 2 == c && null != e && 0 < e.length ? a.replace(d, b.replace(Ja, e)) : a.replace(d, b)), + 3 == c && + ((a = a.replace( + RegExp( + '^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+', + ), + '', + )), + (a = a.replace( + RegExp( + '[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+', + 'g', + ), + '-', + ))), + (c = a)); + return c; + } + function Ya(a, b) { + var c = T; + if (!M(a)) return null; + b = Za(S(c, a), b); + try { + if (m(b, 6)) { + var d = n(b, 6); + return $a(c, d, a); + } + } catch (e) {} + return null; + } + function Ua(a, b, c) { + return m(a, 3) && 0 != n(a, 3).length + ? 3 == c + ? ';ext=' + n(a, 3) + : m(b, 13) + ? n(b, 13) + u(a, 3) + : ' ext. ' + u(a, 3) + : ''; + } + function Za(a, b) { + switch (b) { + case 4: + return n(a, 5); + case 3: + return n(a, 4); + case 1: + return n(a, 3); + case 0: + case 2: + return n(a, 2); + case 5: + return n(a, 6); + case 6: + return n(a, 8); + case 7: + return n(a, 7); + case 8: + return n(a, 21); + case 9: + return n(a, 25); + case 10: + return n(a, 28); + default: + return n(a, 1); + } + } + function ab(a, b) { + return U(a, n(b, 1)) + ? U(a, n(b, 5)) + ? 4 + : U(a, n(b, 4)) + ? 3 + : U(a, n(b, 6)) + ? 5 + : U(a, n(b, 8)) + ? 6 + : U(a, n(b, 7)) + ? 7 + : U(a, n(b, 21)) + ? 8 + : U(a, n(b, 25)) + ? 9 + : U(a, n(b, 28)) + ? 10 + : U(a, n(b, 2)) + ? n(b, 18) || U(a, n(b, 3)) + ? 2 + : 0 + : !n(b, 18) && U(a, n(b, 3)) + ? 1 + : -1 + : -1; + } + function S(a, b) { + if (null == b) return null; + b = b.toUpperCase(); + var c = a.g[b]; + if (null == c) { + c = G[b]; + if (null == c) return null; + c = new y().g(D.m(), c); + a.g[b] = c; + } + return c; + } + function U(a, b) { + var c = a.length; + return 0 < v(b, 9) && -1 == r(b, 9).indexOf(c) ? !1 : K(u(b, 2), a); + } + function bb(a) { + var b = T, + c = cb(b, a); + var d = u(a, 1); + var e = P(b, d, c); + null == e || ('001' != c && d != Xa(b, c)) ? (e = !1) : ((a = O(a)), (e = -1 != ab(a, e))); + return e; + } + function cb(a, b) { + if (null == b) return null; + var c = u(b, 1); + c = F[c]; + if (null == c) a = null; + else if (1 == c.length) a = c[0]; + else + a: { + b = O(b); + for (var d, e = c.length, f = 0; f < e; f++) { + d = c[f]; + var g = S(a, d); + if (m(g, 23)) { + if (0 == b.search(n(g, 23))) { + a = d; + break a; + } + } else if (-1 != ab(b, g)) { + a = d; + break a; + } + } + a = null; + } + return a; + } + function R(a) { + a = F[a]; + return null == a ? 'ZZ' : a[0]; + } + function Xa(a, b) { + a = S(a, b); + if (null == a) throw Error('Invalid region code: ' + b); + return u(a, 10); + } + function db(a) { + a = eb(a); + return 0 == a || 4 == a; + } + function fb(a, b, c, d) { + var e = Za(c, d), + f = 0 == v(e, 9) ? r(n(c, 1), 9) : r(e, 9); + e = r(e, 10); + if (2 == d) + if (Ra(Za(c, 0))) + (a = Za(c, 1)), + Ra(a) && + ((f = f.concat(0 == v(a, 9) ? r(n(c, 1), 9) : r(a, 9))), + f.sort(), + 0 == e.length ? (e = r(a, 10)) : ((e = e.concat(r(a, 10))), e.sort())); + else return fb(a, b, c, 1); + if (-1 == f[0]) return 5; + b = b.length; + if (-1 < e.indexOf(b)) return 4; + c = f[0]; + return c == b ? 0 : c > b ? 2 : f[f.length - 1] < b ? 3 : -1 < f.indexOf(b, 1) ? 0 : 5; + } + function eb(a) { + var b = T, + c = O(a); + a = u(a, 1); + if (!(a in F)) return 1; + a = P(b, a, R(a)); + return fb(b, c, a, -1); + } + function gb(a, b) { + a = a.toString(); + if (0 == a.length || '0' == a.charAt(0)) return 0; + for (var c, d = a.length, e = 1; 3 >= e && e <= d; ++e) + if (((c = parseInt(a.substring(0, e), 10)), c in F)) return b.g(a.substring(e)), c; + return 0; + } + function hb(a, b, c, d, e) { + if (0 == b.length) return 0; + b = new z(b); + var f; + null != c && (f = n(c, 11)); + null == f && (f = 'NonMatch'); + var g = b.toString(); + if (0 == g.length) f = 20; + else if (I.test(g)) (g = g.replace(I, '')), A(b), b.g(Ma(g)), (f = 1); + else { + g = new RegExp(f); + Na(b); + f = b.toString(); + if (0 == f.search(g)) { + g = f.match(g)[0].length; + var l = f.substring(g).match(Ba); + l && null != l[1] && 0 < l[1].length && '0' == L(l[1], wa) + ? (f = !1) + : (A(b), b.g(f.substring(g)), (f = !0)); + } else f = !1; + f = f ? 5 : 20; + } + if (20 != f) { + if (2 >= b.h.length) throw Error('Phone number too short after IDD'); + a = gb(b, d); + if (0 != a) return p(e, 1, a), a; + throw Error('Invalid country calling code'); + } + if ( + null != c && + ((f = u(c, 10)), + (g = '' + f), + (l = b.toString()), + 0 == l.lastIndexOf(g, 0) && + ((g = new z(l.substring(g.length))), + (l = n(c, 1)), + (l = new RegExp(u(l, 2))), + ib(g, c, null), + (g = g.toString()), + (!K(l, b.toString()) && K(l, g)) || 3 == fb(a, b.toString(), c, -1))) + ) + return d.g(g), p(e, 1, f), f; + p(e, 1, 0); + return 0; + } + function ib(a, b, c) { + var d = a.toString(), + e = d.length, + f = n(b, 15); + if (0 != e && null != f && 0 != f.length) { + var g = new RegExp('^(?:' + f + ')'); + if ((e = g.exec(d))) { + f = new RegExp(u(n(b, 1), 2)); + var l = K(f, d), + q = e.length - 1; + b = n(b, 16); + if (null == b || 0 == b.length || null == e[q] || 0 == e[q].length) { + if (!l || K(f, d.substring(e[0].length))) + null != c && 0 < q && null != e[q] && c.g(e[1]), a.set(d.substring(e[0].length)); + } else if (((d = d.replace(g, b)), !l || K(f, d))) + null != c && 0 < q && c.g(e[1]), a.set(d); + } + } + } + function $a(a, b, c) { + if (null == b) throw Error('The string supplied did not seem to be a phone number'); + if (250 < b.length) throw Error('The string supplied is too long to be a phone number'); + var d = new z(), + e = b.indexOf(';phone-context='); + if (0 <= e) { + var f = e + 15; + if ('+' == b.charAt(f)) { + var g = b.indexOf(';', f); + 0 < g ? d.g(b.substring(f, g)) : d.g(b.substring(f)); + } + f = b.indexOf('tel:'); + d.g(b.substring(0 <= f ? f + 4 : 0, e)); + } else + (e = d.g), + (f = b.search(Ca)), + 0 <= f + ? ((b = b.substring(f)), + (b = b.replace(Ea, '')), + (f = b.search(Da)), + 0 <= f && (b = b.substring(0, f))) + : (b = ''), + e.call(d, b); + b = d.toString(); + e = b.indexOf(';isub='); + 0 < e && (A(d), d.g(b.substring(0, e))); + if (!La(d.toString())) throw Error('The string supplied did not seem to be a phone number'); + b = d.toString(); + if (!(M(c) || (null != b && 0 < b.length && I.test(b)))) + throw Error('Invalid country calling code'); + b = new E(); + a: { + e = d.toString(); + f = e.search(Ha); + if (0 <= f && La(e.substring(0, f))) { + g = e.match(Ha); + for (var l = g.length, q = 1; q < l; ++q) + if (null != g[q] && 0 < g[q].length) { + A(d); + d.g(e.substring(0, f)); + e = g[q]; + break a; + } + } + e = ''; + } + 0 < e.length && p(b, 3, e); + f = S(a, c); + e = new z(); + g = 0; + l = d.toString(); + try { + g = hb(a, l, f, e, b); + } catch (Q) { + if ('Invalid country calling code' == Q.message && I.test(l)) { + if (((l = l.replace(I, '')), (g = hb(a, l, f, e, b)), 0 == g)) throw Q; + } else throw Q; + } + 0 != g + ? ((d = R(g)), d != c && (f = P(a, g, d))) + : (Na(d), e.g(d.toString()), null != c && ((g = u(f, 10)), p(b, 1, g))); + if (2 > e.h.length) throw Error('The string supplied is too short to be a phone number'); + null != f && + ((c = new z(e.toString())), + ib(c, f, new z()), + (a = fb(a, c.toString(), f, -1)), + 2 != a && 4 != a && 5 != a && (e = c)); + a = e.toString(); + c = a.length; + if (2 > c) throw Error('The string supplied is too short to be a phone number'); + if (17 < c) throw Error('The string supplied is too long to be a phone number'); + if (1 < a.length && '0' == a.charAt(0)) { + p(b, 4, !0); + for (c = 1; c < a.length - 1 && '0' == a.charAt(c); ) c++; + 1 != c && p(b, 8, c); + } + p(b, 2, parseInt(a, 10)); + return b; + } + H.prototype.ia = function (a) { + var b = S(this, cb(this, a)); + if (null == b) return !0; + a = O(a); + return !U(a, n(b, 24)); + }; + function K(a, b) { + return (a = 'string' == typeof a ? b.match('^(?:' + a + ')$') : b.match(a)) && + a[0].length == b.length + ? !0 + : !1; + } + function jb(a) { + this.ja = RegExp('\u2008'); + this.ka = ''; + this.v = new z(); + this.ca = ''; + this.s = new z(); + this.aa = new z(); + this.u = !0; + this.da = this.ba = this.na = !1; + this.oa = H.h(); + this.$ = 0; + this.h = new z(); + this.ga = !1; + this.o = ''; + this.g = new z(); + this.j = []; + this.la = a; + this.va = this.l = kb(this, this.la); + } + var lb = new D(); + p(lb, 11, 'NA'); + var mb = RegExp( + '^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*\\$1[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*(\\$\\d[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*)*$', + ), + nb = /[- ]/; + function kb(a, b) { + var c = a.oa; + b = M(b) ? Xa(c, b) : 0; + a = S(a.oa, R(b)); + return null != a ? a : lb; + } + function ob(a) { + for (var b = a.j.length, c = 0; c < b; ++c) { + var d = a.j[c], + e = u(d, 1); + if (a.ca == e) return !1; + var f = a; + var g = d, + l = u(g, 1); + A(f.v); + var q = f; + g = u(g, 2); + var Q = '999999999999999'.match(l)[0]; + Q.length < q.g.h.length + ? (q = '') + : ((q = Q.replace(new RegExp(l, 'g'), g)), (q = q.replace(RegExp('9', 'g'), '\u2008'))); + 0 < q.length ? (f.v.g(q), (f = !0)) : (f = !1); + if (f) return (a.ca = e), (a.ga = nb.test(n(d, 4))), (a.$ = 0), !0; + } + return (a.u = !1); + } + function pb(a, b) { + for (var c = [], d = b.length - 3, e = a.j.length, f = 0; f < e; ++f) { + var g = a.j[f]; + 0 == v(g, 3) + ? c.push(a.j[f]) + : ((g = n(g, 3, Math.min(d, v(g, 3) - 1))), 0 == b.search(g) && c.push(a.j[f])); + } + a.j = c; + } + function qb(a, b) { + a.s.g(b); + var c = b; + Ba.test(c) || (1 == a.s.h.length && Aa.test(c)) + ? ('+' == b ? ((c = b), a.aa.g(b)) : ((c = wa[b]), a.aa.g(c), a.g.g(c)), (b = c)) + : ((a.u = !1), (a.na = !0)); + if (!a.u) { + if (!a.na) + if (rb(a)) { + if (sb(a)) return tb(a); + } else if ( + (0 < a.o.length && + ((b = a.g.toString()), + A(a.g), + a.g.g(a.o), + a.g.g(b), + (b = a.h.toString()), + (c = b.lastIndexOf(a.o)), + A(a.h), + a.h.g(b.substring(0, c))), + a.o != ub(a)) + ) + return a.h.g(' '), tb(a); + return a.s.toString(); + } + switch (a.aa.h.length) { + case 0: + case 1: + case 2: + return a.s.toString(); + case 3: + if (rb(a)) a.da = !0; + else return (a.o = ub(a)), vb(a); + default: + if (a.da) return sb(a) && (a.da = !1), a.h.toString() + a.g.toString(); + if (0 < a.j.length) { + b = wb(a, b); + c = xb(a); + if (0 < c.length) return c; + pb(a, a.g.toString()); + return ob(a) ? yb(a) : a.u ? zb(a, b) : a.s.toString(); + } + return vb(a); + } + } + function tb(a) { + a.u = !0; + a.da = !1; + a.j = []; + a.$ = 0; + A(a.v); + a.ca = ''; + return vb(a); + } + function xb(a) { + for (var b = a.g.toString(), c = a.j.length, d = 0; d < c; ++d) { + var e = a.j[d], + f = u(e, 1); + if ( + new RegExp('^(?:' + f + ')$').test(b) && + ((a.ga = nb.test(n(e, 4))), + (e = b.replace(new RegExp(f, 'g'), n(e, 2))), + (e = zb(a, e)), + L(e, xa) == a.aa) + ) + return e; + } + return ''; + } + function zb(a, b) { + var c = a.h.h.length; + return a.ga && 0 < c && ' ' != a.h.toString().charAt(c - 1) ? a.h + ' ' + b : a.h + b; + } + function vb(a) { + var b = a.g.toString(); + if (3 <= b.length) { + for ( + var c = a.ba && 0 == a.o.length && 0 < v(a.l, 20) ? r(a.l, 20) : r(a.l, 19), + d = c.length, + e = 0; + e < d; + ++e + ) { + var f = c[e]; + (0 < a.o.length && Sa(u(f, 4)) && !n(f, 6) && !m(f, 5)) || + ((0 != a.o.length || a.ba || Sa(u(f, 4)) || n(f, 6)) && + mb.test(u(f, 2)) && + a.j.push(f)); + } + pb(a, b); + b = xb(a); + return 0 < b.length ? b : ob(a) ? yb(a) : a.s.toString(); + } + return zb(a, b); + } + function yb(a) { + var b = a.g.toString(), + c = b.length; + if (0 < c) { + for (var d = '', e = 0; e < c; e++) d = wb(a, b.charAt(e)); + return a.u ? zb(a, d) : a.s.toString(); + } + return a.h.toString(); + } + function ub(a) { + var b = a.g.toString(), + c = 0; + if (1 != a.l.ha()) var d = !1; + else + (d = a.g.toString()), (d = '1' == d.charAt(0) && '0' != d.charAt(1) && '1' != d.charAt(1)); + d + ? ((c = 1), a.h.g('1').g(' '), (a.ba = !0)) + : m(a.l, 15) && + ((d = new RegExp('^(?:' + n(a.l, 15) + ')')), + (d = b.match(d)), + null != d && + null != d[0] && + 0 < d[0].length && + ((a.ba = !0), (c = d[0].length), a.h.g(b.substring(0, c)))); + A(a.g); + a.g.g(b.substring(c)); + return b.substring(0, c); + } + function rb(a) { + var b = a.aa.toString(), + c = new RegExp('^(?:\\+|' + n(a.l, 11) + ')'); + c = b.match(c); + return null != c && null != c[0] && 0 < c[0].length + ? ((a.ba = !0), + (c = c[0].length), + A(a.g), + a.g.g(b.substring(c)), + A(a.h), + a.h.g(b.substring(0, c)), + '+' != b.charAt(0) && a.h.g(' '), + !0) + : !1; + } + function sb(a) { + if (0 == a.g.h.length) return !1; + var b = new z(), + c = gb(a.g, b); + if (0 == c) return !1; + A(a.g); + a.g.g(b.toString()); + b = R(c); + '001' == b ? (a.l = S(a.oa, '' + c)) : b != a.la && (a.l = kb(a, b)); + a.h.g('' + c).g(' '); + a.o = ''; + return !0; + } + function wb(a, b) { + var c = a.v.toString(); + if (0 <= c.substring(a.$).search(a.ja)) { + var d = c.search(a.ja); + b = c.replace(a.ja, b); + A(a.v); + a.v.g(b); + a.$ = d; + return b.substring(0, a.$ + 1); + } + 1 == a.j.length && (a.u = !1); + a.ca = ''; + return a.s.toString(); + } + var T = H.h(); + function Ab(a) { + var b = T, + c = cb(b, a); + b = P(b, u(a, 1), c); + null == b ? (a = -1) : ((a = O(a)), (a = ab(a, b))); + switch (a) { + case 0: + return 'fixed-line'; + case 2: + return 'fixed-line-or-mobile'; + case 1: + return 'mobile'; + case 8: + return 'pager'; + case 7: + return 'personal-number'; + case 4: + return 'premium-rate'; + case 5: + return 'shared-cost'; + case 3: + return 'toll-free'; + case 9: + return 'uan'; + case 6: + return 'voip'; + default: + case -1: + return 'unknown'; + } + } + function Bb(a) { + switch (a) { + case 'fixed-line': + return 0; + case 'fixed-line-or-mobile': + return 2; + case 'mobile': + return 1; + case 'pager': + return 8; + case 'personal-number': + return 7; + case 'premium-rate': + return 4; + case 'shared-cost': + return 5; + case 'toll-free': + return 3; + case 'uan': + return 9; + case 'voip': + return 6; + default: + case 'unknown': + return -1; + } + } + function Cb(a) { + try { + switch (eb(a)) { + case 0: + return 'is-possible'; + case 1: + return 'invalid-country-code'; + case 3: + return 'too-long'; + case 2: + return 'too-short'; + } + if (db(a)) return 'is-possible'; + } catch (b) {} + return 'unknown'; + } + function Db(a) { + if ('+' !== a.charAt(0)) return { parsed: b, ea: c }; + try { + var b = $a(T, a, void 0); + } catch (e) {} + if (b) { + var c = cb(T, b); + if (null != c && 'ZZ' !== c) return { parsed: b, ea: c }; + } + for (var d = 1; 4 > d; ++d) { + c = void 0; + if (a.length < d + 1) return { parsed: b, ea: c }; + c = R(a.substring(1, d + 1)); + if ('ZZ' !== c) return { ea: c }; + } + return { parsed: b, ea: void 0 }; + } + function V(a, b) { + if (!(this instanceof V)) return new V(a, b); + if ('string' === typeof a) var c = !1; + else + try { + bb(a), (c = !0); + } catch (e) { + c = !1; + } + let d; + if (!c && 'string' !== typeof a) throw Error('Invalid phone number, expected a string'); + if (!c && null != b && 'string' !== typeof b) + throw Error('Invalid region code, expected a string'); + c || + ((a = a.trim()), + b && '+' === a.charAt(0) && (b = null), + b || ({ ea: b = null, parsed: d } = Db(a))); + this.g = { number: {}, regionCode: b, valid: !1, possible: !1 }; + if (c) this.h = a; + else { + this.h = null; + this.g.number.input = a; + if (!b) { + this.g.possibility = 'invalid-country-code'; + return; + } + if (0 === Eb(b)) { + this.g.possibility = 'invalid-country-code'; + return; + } + try { + this.h = d ? d : $a(T, a, b); + } catch (e) { + this.g.possibility = Cb(a); + return; + } + } + this.g.number.international = N(T, this.h, 1); + this.g.number.national = N(T, this.h, 2); + this.g.number.e164 = N(T, this.h, 0); + this.g.number.rfc3966 = N(T, this.h, 3); + this.g.number.significant = O(this.h); + this.g.canBeInternationallyDialled = T.ia(this.h); + this.g.possible = db(this.h); + this.g.valid = bb(this.h); + this.g.type = Ab(this.h); + this.g.possibility = Cb(this.h); + } + var W = ['PhoneNumber$$module$src$index'], + X = aa; + W[0] in X || 'undefined' == typeof X.execScript || X.execScript('var ' + W[0]); + for (var Y; W.length && (Y = W.shift()); ) + W.length || void 0 === V + ? X[Y] && X[Y] !== Object.prototype[Y] + ? (X = X[Y]) + : (X = X[Y] = {}) + : (X[Y] = V); + function Eb(a) { + return M(a) ? Xa(T, a) : 0; + } + V.getCountryCodeForRegionCode = Eb; + V.getRegionCodeForCountryCode = function (a) { + return R(a); + }; + function Fb(a) { + var b = {}; + return a.filter(c => { + if (b.hasOwnProperty(c)) return !1; + b[c] = 1; + return !0; + }); + } + V.getSupportedRegionCodes = function () { + return Fb(Oa()); + }; + V.getSupportedCallingCodes = function () { + return Fb(Qa()); + }; + V.getExample = function (a, b) { + var c; + b ? (c = Ya(a, Bb(b))) : (c = Ya(a, 0)); + return new V(c, a); + }; + V.getAsYouType = function (a) { + return new Z(a); + }; + V.prototype.toJSON = function () { + return this.g; + }; + V.prototype.toJSON = V.prototype.toJSON; + V.prototype.ia = function () { + return this.g.canBeInternationallyDialled; + }; + V.prototype.canBeInternationallyDialled = V.prototype.ia; + V.prototype.za = function () { + return this.g.valid; + }; + V.prototype.isValid = V.prototype.za; + V.prototype.ya = function () { + return this.g.possible; + }; + V.prototype.isPossible = V.prototype.ya; + V.prototype.ua = function () { + return this.g.type; + }; + V.prototype.getType = V.prototype.ua; + V.prototype.xa = function () { + return 'mobile' === this.g.type || 'fixed-line-or-mobile' === this.g.type; + }; + V.prototype.isMobile = V.prototype.xa; + V.prototype.wa = function () { + return 'fixed-line' === this.g.type || 'fixed-line-or-mobile' === this.g.type; + }; + V.prototype.isFixedLine = V.prototype.wa; + V.prototype.qa = function (a) { + return this.g.number[null == a ? 'e164' : a]; + }; + V.prototype.getNumber = V.prototype.qa; + V.prototype.ra = function (a) { + return Wa(this.h, a); + }; + V.prototype.getNumberFrom = V.prototype.ra; + V.prototype.ta = function () { + return this.g.activeRegion; + }; + V.prototype.getRegionCode = V.prototype.ta; + V.prototype.ha = function () { + return Eb(this.g.activeRegion); + }; + V.prototype.getCountryCode = V.prototype.ha; + function Z(a) { + this.l = a; + this.j = new jb(a); + this.g = this.h = ''; + } + Z.prototype.pa = function (a) { + this.h += a; + var b = this.j; + b.ka = qb(b, a); + return (this.g = b.ka); + }; + Z.prototype.addChar = Z.prototype.pa; + Z.prototype.Aa = function () { + return this.g; + }; + Z.prototype.number = Z.prototype.Aa; + Z.prototype.Ba = function () { + return '' === this.h ? this.g : this.reset(this.h.slice(0, this.h.length - 1)); + }; + Z.prototype.removeChar = Z.prototype.Ba; + Z.prototype.reset = function (a) { + var b = this.j; + b.ka = ''; + A(b.s); + A(b.aa); + A(b.v); + b.$ = 0; + b.ca = ''; + A(b.h); + b.o = ''; + A(b.g); + b.u = !0; + b.na = !1; + b.ba = !1; + b.da = !1; + b.j = []; + b.ga = !1; + b.l != b.va && (b.l = kb(b, b.la)); + this.g = this.h = ''; + if (a) { + b = 0; + for (var c = a.length; b < c; ++b) this.pa(a.charAt(b)); + } + return this.g; + }; + Z.prototype.reset = Z.prototype.reset; + Z.prototype.sa = function () { + return new V(this.g, this.l); + }; + Z.prototype.getPhoneNumber = Z.prototype.sa; + }.call( + module.exports || + (typeof globalThis !== 'undefined' && globalThis) || + (typeof commonjsGlobal !== 'undefined' && commonjsGlobal) || + (typeof window !== 'undefined' && window) || + (typeof self !== 'undefined' && self) || + commonjsGlobal, + )); +})(lib); + +(function (module) { + const exportedName = 'PhoneNumber$$module$src$index'; + + module.exports = + lib.exports[exportedName] || + ((typeof globalThis !== 'undefined' && globalThis) || + (typeof commonjsGlobal !== 'undefined' && commonjsGlobal) || + (typeof window !== 'undefined' && window) || + (typeof self !== 'undefined' && self) || + commonjsGlobal)[exportedName]; + + Object.defineProperty(module.exports, '__esModule', { + value: true, + }); + + module.exports.default = module.exports; +})(awesomePhonenumber); + +var index = /*@__PURE__*/ getDefaultExportFromCjs(awesomePhonenumber.exports); + +export { index as default }; diff --git a/packages/input-tel/lion-input-tel.js b/packages/input-tel/lion-input-tel.js new file mode 100644 index 000000000..156488776 --- /dev/null +++ b/packages/input-tel/lion-input-tel.js @@ -0,0 +1,3 @@ +import { LionInputTel } from './src/LionInputTel.js'; + +customElements.define('lion-input-tel', LionInputTel); diff --git a/packages/input-tel/package.json b/packages/input-tel/package.json new file mode 100644 index 000000000..0b782a65b --- /dev/null +++ b/packages/input-tel/package.json @@ -0,0 +1,63 @@ +{ + "name": "@lion/input-tel", + "version": "0.0.0", + "description": "Input field for entering phone numbers, including validation, formatting and mobile keyboard support.", + "license": "MIT", + "author": "ing-bank", + "homepage": "https://github.com/ing-bank/lion/", + "repository": { + "type": "git", + "url": "https://github.com/ing-bank/lion.git", + "directory": "packages/input-tel" + }, + "main": "index.js", + "module": "index.js", + "files": [ + "*.d.ts", + "*.js", + "custom-elements.json", + "docs", + "src", + "test", + "test-helpers", + "test-suites", + "translations", + "types" + ], + "scripts": { + "custom-elements-manifest": "custom-elements-manifest analyze --litelement --exclude \"docs/**/*\" \"test-helpers/**/*\"", + "debug": "cd ../../ && npm run debug -- --group input-tel", + "debug:firefox": "cd ../../ && npm run debug:firefox -- --group input-tel", + "debug:webkit": "cd ../../ && npm run debug:webkit -- --group input-tel", + "publish-docs": "node ../../packages-node/publish-docs/src/cli.js --github-url https://github.com/ing-bank/lion/ --git-root-dir ../../", + "prepublishOnly": "npm run publish-docs && npm run custom-elements-manifest", + "test": "cd ../../ && npm run test:browser -- --group input-tel" + }, + "sideEffects": [ + "lion-input-tel.js" + ], + "dependencies": { + "@lion/core": "0.21.1", + "@lion/form-core": "0.16.0", + "@lion/input": "0.16.0", + "@lion/localize": "0.23.0" + }, + "keywords": [ + "input", + "input-tel", + "lion", + "web-components" + ], + "publishConfig": { + "access": "public" + }, + "customElements": "custom-elements.json", + "customElementsManifest": "custom-elements.json", + "exports": { + ".": "./index.js", + "./define": "./define.js", + "./test-suites": "./test-suites/index.js", + "./test-helpers": "./test-helpers/index.js", + "./docs/*": "./docs/*" + } +} diff --git a/packages/input-tel/src/LionInputTel.js b/packages/input-tel/src/LionInputTel.js new file mode 100644 index 000000000..284aa3650 --- /dev/null +++ b/packages/input-tel/src/LionInputTel.js @@ -0,0 +1,317 @@ +import { Unparseable } from '@lion/form-core'; +import { LocalizeMixin, localize } from '@lion/localize'; +import { LionInput } from '@lion/input'; +import { PhoneUtilManager } from './PhoneUtilManager.js'; +import { liveFormatPhoneNumber } from './preprocessors.js'; +import { formatPhoneNumber } from './formatters.js'; +import { parsePhoneNumber } from './parsers.js'; +import { IsPhoneNumber } from './validators.js'; + +/** + * @typedef {import('../types').FormatStrategy} FormatStrategy + * @typedef {import('../types').RegionCode} RegionCode + * @typedef {import('../types').PhoneNumberType} PhoneNumberType + * @typedef {import('@lion/form-core/types/FormatMixinTypes').FormatOptions} FormatOptions + * @typedef {* & import('@lion/input-tel/lib/awesome-phonenumber-esm').default} PhoneNumber + * @typedef {FormatOptions & {regionCode: RegionCode; formatStrategy: FormatStrategy}} FormatOptionsTel + */ + +export class LionInputTel extends LocalizeMixin(LionInput) { + /** + * @configure LitElement + */ + static properties = { + allowedRegions: { type: Array }, + formatStrategy: { type: String, attribute: 'format-strategy' }, + activeRegion: { type: String }, + _phoneUtil: { type: Object, state: true }, + _needsLightDomRender: { type: Number, state: true }, + _derivedRegionCode: { type: String, state: true }, + }; + + /** + * Currently active region based on: + * 1. allowed regions: get the region from configured allowed regions (if one entry) + * 2. user input: try to derive active region from user input + * 3. locale: try to get the region from locale (`html[lang]` attribute) + * @readonly + * @property {RegionCode|undefined}activeRegion + */ + get activeRegion() { + return this.__activeRegion; + } + + // @ts-ignore read only + // eslint-disable-next-line class-methods-use-this, no-empty-function + set activeRegion(v) {} + + /** + * Type of phone number, derived from textbox value. Enum with values: + * -'fixed-line' + * -'fixed-line-or-mobile' + * -'mobile' + * -'pager' + * -'personal-number' + * -'premium-rate' + * -'shared-cost' + * -'toll-free' + * -'uan' + * -'voip' + * -'unknown' + * See https://www.npmjs.com/package/awesome-phonenumber + * @readonly + * @property {PhoneNumberType|undefined} activePhoneNumberType + */ + get activePhoneNumberType() { + let pn; + try { + pn = this._phoneUtil && this._phoneUtil(this.modelValue, this.activeRegion); + // eslint-disable-next-line no-empty + } catch (_) {} + return pn?.g?.type || 'unknown'; + } + + // @ts-ignore read only + // eslint-disable-next-line class-methods-use-this, no-empty-function + set activePhoneNumberType(v) {} + + /** + * Protected setter for activeRegion, only meant for subclassers + * @protected + * @param {RegionCode|undefined} newValue + */ + _setActiveRegion(newValue) { + const oldValue = this.activeRegion; + this.__activeRegion = newValue; + this.requestUpdate('activeRegion', oldValue); + } + + /** + * Used for rendering the region/country list + * @property _allowedOrAllRegions + * @type {RegionCode[]} + */ + get _allowedOrAllRegions() { + return ( + (this.allowedRegions?.length + ? this.allowedRegions + : this._phoneUtil?.getSupportedRegionCodes()) || [] + ); + } + + /** + * @property _phoneUtilLoadComplete + * @protected + * @type {Promise} + */ + // eslint-disable-next-line class-methods-use-this + get _phoneUtilLoadComplete() { + return PhoneUtilManager.loadComplete; + } + + /** + * @lifecycle platform + */ + constructor() { + super(); + + /** + * Determines what the formatter output should look like. + * Formatting strategies as provided by google-libphonenumber + * See: https://www.npmjs.com/package/google-libphonenumber + * @type {FormatStrategy} + */ + this.formatStrategy = 'international'; + + /** + * The regions that should be considered when international phone numbers are detected. + * (when not configured, all regions worldwide will be considered) + * @type {RegionCode[]} + */ + this.allowedRegions = []; + + /** @private */ + this.__isPhoneNumberValidatorInstance = new IsPhoneNumber(); + /** @configures ValidateMixin */ + this.defaultValidators.push(this.__isPhoneNumberValidatorInstance); + + // Expose awesome-phonenumber lib for Subclassers + /** + * @protected + * @type {PhoneNumber|null} + */ + this._phoneUtil = PhoneUtilManager.isLoaded + ? /** @type {PhoneNumber} */ (PhoneUtilManager.PhoneNumber) + : null; + + /** + * Helper that triggers a light dom render aligned with update loop. + * TODO: combine with render fn of SlotMixin + * @protected + * @type {number} + */ + this._needsLightDomRender = 0; + + if (!PhoneUtilManager.isLoaded) { + PhoneUtilManager.loadComplete.then(() => { + this._onPhoneNumberUtilReady(); + }); + } + } + + /** + * @param {import('lit-element').PropertyValues } changedProperties + */ + firstUpdated(changedProperties) { + super.firstUpdated(changedProperties); + + // This will trigger the right keyboard on mobile + this._inputNode.inputMode = 'tel'; + } + + /** + * @param {import('lit-element').PropertyValues } changedProperties + */ + updated(changedProperties) { + super.updated(changedProperties); + + if (changedProperties.has('activeRegion')) { + // Make sure new modelValue is computed, but prevent formattedValue from being set when focused + this.__isUpdatingRegionWhileFocused = this.focused; + this._calculateValues({ source: null }); + this.__isUpdatingRegionWhileFocused = false; + + this.__isPhoneNumberValidatorInstance.param = this.activeRegion; + /** @type {FormatOptionsTel} */ + (this.formatOptions).regionCode = /** @type {RegionCode} */ (this.activeRegion); + } + + if (changedProperties.has('formatStrategy')) { + this._calculateValues({ source: null }); + /** @type {FormatOptionsTel} */ + (this.formatOptions).formatStrategy = this.formatStrategy; + } + + if (changedProperties.has('modelValue') || changedProperties.has('allowedRegions')) { + this.__calculateActiveRegion(); + } + } + + /** + * @configure LocalizeMixin + */ + onLocaleUpdated() { + super.onLocaleUpdated(); + + const localeSplitted = localize.locale.split('-'); + /** + * @protected + * @type {RegionCode} + */ + this._langIso = /** @type {RegionCode} */ ( + localeSplitted[localeSplitted.length - 1].toUpperCase() + ); + this.__calculateActiveRegion(); + } + + /** + * @configure FormatMixin + * @param {string} modelValue + * @returns {string} + */ + formatter(modelValue) { + return formatPhoneNumber(modelValue, { + regionCode: /** @type {RegionCode} */ (this.activeRegion), + formatStrategy: this.formatStrategy, + }); + } + + /** + * @configure FormatMixin + * @param {string} viewValue a phone number without (or with) country code, like '06 12345678' + * @returns {string} a trimmed phone number with country code, like '+31612345678' + */ + parser(viewValue) { + return parsePhoneNumber(viewValue, { + regionCode: /** @type {RegionCode} */ (this.activeRegion), + }); + } + + /** + * @configure FormatMixin + * @param {string} viewValue + * @param {object} options + * @param {string} options.prevViewValue + * @param {number} options.currentCaretIndex + * @returns {{ viewValue: string; caretIndex: number; } | undefined } + */ + preprocessor(viewValue, { currentCaretIndex, prevViewValue }) { + return liveFormatPhoneNumber(viewValue, { + regionCode: /** @type {RegionCode} */ (this.activeRegion), + formatStrategy: this.formatStrategy, + currentCaretIndex, + prevViewValue, + }); + } + + /** + * Do not reflect back .formattedValue during typing (this normally wouldn't happen when + * FormatMixin calls _calculateValues based on user input, but for LionInputTel we need to + * call it on .activeRegion change) + * @enhance FormatMixin + * @returns {boolean} + */ + _reflectBackOn() { + return !this.__isUpdatingRegionWhileFocused && super._reflectBackOn(); + } + + /** + * @protected + */ + _onPhoneNumberUtilReady() { + // This should trigger a rerender in shadow dom + this._phoneUtil = /** @type {PhoneNumber} */ (PhoneUtilManager.PhoneNumber); + // This should trigger a rerender in light dom + this._scheduleLightDomRender(); + // Format when libPhoneNumber is loaded + this._calculateValues({ source: null }); + this.__calculateActiveRegion(); + } + + /** + * This allows to hook into the update hook + * @protected + */ + _scheduleLightDomRender() { + this._needsLightDomRender += 1; + } + + /** + * @private + */ + __calculateActiveRegion() { + // 1. Get the region from preconfigured allowed region (if one entry) + if (this.allowedRegions?.length === 1) { + this._setActiveRegion(this.allowedRegions[0]); + return; + } + + // 2. Try to derive action region from user value + const value = !(this.modelValue instanceof Unparseable) ? this.modelValue : this.value; + const regionDerivedFromValue = value && this._phoneUtil && this._phoneUtil(value).g?.regionCode; + + if (regionDerivedFromValue && this._allowedOrAllRegions.includes(regionDerivedFromValue)) { + this._setActiveRegion(regionDerivedFromValue); + return; + } + + // 3. Try to get the region from locale + if (this._langIso && this._allowedOrAllRegions.includes(this._langIso)) { + this._setActiveRegion(this._langIso); + return; + } + + // 4. Not derivable + this._setActiveRegion(undefined); + } +} diff --git a/packages/input-tel/src/PhoneUtilManager.js b/packages/input-tel/src/PhoneUtilManager.js new file mode 100644 index 000000000..e484e9342 --- /dev/null +++ b/packages/input-tel/src/PhoneUtilManager.js @@ -0,0 +1,38 @@ +/** @type {(value: any) => void} */ +let resolveLoaded; + +/** + * - Handles lazy loading of the (relatively large) google-libphonenumber library, allowing + * for quick first paints + * - Maintains one instance of phoneNumberUtil that can be shared across multiple places + * - Allows for easy mocking in unit tests + */ +export class PhoneUtilManager { + static async loadLibPhoneNumber() { + const PhoneNumber = (await import('../lib/awesome-phonenumber-esm.js')).default; + this.PhoneNumber = PhoneNumber; + resolveLoaded(undefined); + return PhoneNumber; + } + + /** + * Check if google-libphonenumber has been loaded + */ + static get isLoaded() { + return Boolean(this.PhoneNumber); + } +} + +/** + * Wait till google-libphonenumber has been loaded + * @example + * ```js + * await PhoneUtilManager.loadComplete; + * ``` + */ +PhoneUtilManager.loadComplete = new Promise(resolve => { + resolveLoaded = resolve; +}); + +// initialize +PhoneUtilManager.loadLibPhoneNumber(); diff --git a/packages/input-tel/src/formatters.js b/packages/input-tel/src/formatters.js new file mode 100644 index 000000000..73ef4cfbe --- /dev/null +++ b/packages/input-tel/src/formatters.js @@ -0,0 +1,57 @@ +import { PhoneUtilManager } from './PhoneUtilManager.js'; + +/** + * @typedef {import('../types').FormatStrategy} FormatStrategy + * @typedef {import('../types').RegionCode} RegionCode + * @typedef {* & import('@lion/input-tel/lib/awesome-phonenumber-esm').default} PhoneNumber + */ + +/** + * @param {string} modelValue + * @param {object} options + * @param {RegionCode} options.regionCode + * @param {FormatStrategy} [options.formatStrategy='international'] + * @returns {string} + */ +export function formatPhoneNumber(modelValue, { regionCode, formatStrategy = 'international' }) { + // Do not format when not loaded + if (!PhoneUtilManager.isLoaded) { + return modelValue; + } + + // eslint-disable-next-line prefer-destructuring + const PhoneNumber = /** @type {PhoneNumber} */ (PhoneUtilManager.PhoneNumber); + + let pn; + try { + pn = new PhoneNumber(modelValue, regionCode); // phoneNumberUtil.parse(modelValue, regionCode); + // eslint-disable-next-line no-empty + } catch (_) {} + + if (modelValue?.length >= 4 && modelValue?.length <= 16 && pn?.isValid()) { + let formattedValue; + + switch (formatStrategy) { + case 'e164': + formattedValue = pn.getNumber('e164'); // -> '+46707123456' (default) + break; + case 'international': + formattedValue = pn.getNumber('international'); // -> '+46 70 712 34 56' + break; + case 'national': + formattedValue = pn.getNumber('national'); // -> '070-712 34 56' + break; + case 'rfc3966': + formattedValue = pn.getNumber('rfc3966'); // -> 'tel:+46-70-712-34-56' + break; + case 'significant': + formattedValue = pn.getNumber('significant'); // -> '707123456' + break; + default: + break; + } + return formattedValue; + } + + return modelValue; +} diff --git a/packages/input-tel/src/parsers.js b/packages/input-tel/src/parsers.js new file mode 100644 index 000000000..bd5256bf8 --- /dev/null +++ b/packages/input-tel/src/parsers.js @@ -0,0 +1,33 @@ +import { PhoneUtilManager } from './PhoneUtilManager.js'; + +/** + * @typedef {import('../types').RegionCode} RegionCode + * @typedef {* & import('awesome-phonenumber').default} PhoneNumber + */ + +/** + * @param {string} viewValue + * @param {{regionCode:RegionCode;}} options + * @returns {string} + */ +export function parsePhoneNumber(viewValue, { regionCode }) { + // Do not format when not loaded + if (!PhoneUtilManager.isLoaded) { + return viewValue; + } + + // eslint-disable-next-line prefer-destructuring + const PhoneNumber = /** @type {PhoneNumber} */ (PhoneUtilManager.PhoneNumber); + + let pn; + try { + pn = PhoneNumber(viewValue, regionCode); + // eslint-disable-next-line no-empty + } catch (_) {} + + if (pn) { + return pn.getNumber('e164'); + } + + return viewValue; +} diff --git a/packages/input-tel/src/preprocessors.js b/packages/input-tel/src/preprocessors.js new file mode 100644 index 000000000..c6b89d248 --- /dev/null +++ b/packages/input-tel/src/preprocessors.js @@ -0,0 +1,51 @@ +import { PhoneUtilManager } from './PhoneUtilManager.js'; +import { formatPhoneNumber } from './formatters.js'; + +/** + * @typedef {import('../types').FormatStrategy} FormatStrategy + * @typedef {import('../types').RegionCode} RegionCode + * @typedef {* & import('@lion/input-tel/lib/awesome-phonenumber-esm').default} PhoneNumber + */ + +/** + * @param {string} viewValue + * @param {object} options + * @param {RegionCode} options.regionCode + * @param {string} options.prevViewValue + * @param {number} options.currentCaretIndex + * @param {FormatStrategy} options.formatStrategy + * @returns {{viewValue:string; caretIndex:number;}|undefined} + */ +export function liveFormatPhoneNumber( + viewValue, + { regionCode, formatStrategy, prevViewValue, currentCaretIndex }, +) { + const diff = viewValue.length - prevViewValue.length; + // Do not format when not loaded + if (diff <= 0 || !PhoneUtilManager.isLoaded) { + return undefined; + } + + // eslint-disable-next-line prefer-destructuring + const PhoneNumber = /** @type {PhoneNumber} */ (PhoneUtilManager.PhoneNumber); + const ayt = PhoneNumber.getAsYouType(regionCode); + + for (const char of viewValue) { + if (char !== '') { + ayt.addChar(char); + } + } + + const newViewValue = formatPhoneNumber(ayt.number(), { regionCode, formatStrategy }); + + /** + * Given following situation: + * - viewValue: `+316123` + * - currentCaretIndex: 2 (inbetween 3 and 1) + * - prevViewValue `+36123` (we inserted '1' at position 2) + * => we should get `+31 6123`, and new caretIndex should be 3, and not newViewValue.length + */ + const diffBetweenNewAndCurrent = newViewValue.length - viewValue.length; + const newCaretIndex = currentCaretIndex + diffBetweenNewAndCurrent; + return newViewValue ? { viewValue: newViewValue, caretIndex: newCaretIndex } : undefined; +} diff --git a/packages/input-tel/src/validators.js b/packages/input-tel/src/validators.js new file mode 100644 index 000000000..d842e2459 --- /dev/null +++ b/packages/input-tel/src/validators.js @@ -0,0 +1,70 @@ +import { Validator } from '@lion/form-core'; +import { PhoneUtilManager } from './PhoneUtilManager.js'; + +/** + * @typedef {import('../types').RegionCode} RegionCode + * @typedef {* & import('@lion/input-tel/lib/awesome-phonenumber-esm').default} PhoneNumber + */ + +/** + * @param {string} modelValue + * @param {RegionCode} regionCode + * @returns {false|'invalid-country-code'|'unknown'|'too-long'|'too-short'} + */ +function hasFeedback(modelValue, regionCode) { + // eslint-disable-next-line prefer-destructuring + const PhoneNumber = /** @type {PhoneNumber} */ (PhoneUtilManager.PhoneNumber); + let invalidCountryCode = false; + + if (regionCode && modelValue?.length >= 4 && modelValue?.length <= 16) { + let pn; + try { + pn = PhoneNumber(modelValue, regionCode); + invalidCountryCode = pn.g.regionCode !== regionCode; + if (invalidCountryCode) { + return 'invalid-country-code'; + } + // eslint-disable-next-line no-empty + } catch (_) {} + // too-short/too-long info seems to be not there (we get 'is-possible'?) + const enumValue = !pn.isValid() ? pn.g.possibility : false; + if (enumValue === 'is-possible') { + return 'unknown'; + } + return enumValue; + } + + return 'unknown'; +} + +export class IsPhoneNumber extends Validator { + static validatorName = 'IsPhoneNumber'; + + static get async() { + // Will be run as async the first time if PhoneUtilManager hasn't loaded yet, sync afterwards + return !PhoneUtilManager.isLoaded; + } + + /** + * @param {string} modelValue telephone number without country prefix + * @param {RegionCode} regionCode + */ + // eslint-disable-next-line class-methods-use-this + execute(modelValue, regionCode) { + if (!PhoneUtilManager.isLoaded) { + // Return a Promise once not loaded yet. Since async Validators are meant for things like + // loading server side data (in this case a lib), we continue as a sync Validator once loaded + return new Promise(resolve => { + PhoneUtilManager.loadComplete.then(() => { + resolve(hasFeedback(modelValue, regionCode)); + }); + }); + } + return hasFeedback(modelValue, regionCode); + } + + // TODO: add a file for loadDefaultMessages + static async getMessage() { + return 'Not a valid phone number'; + } +} diff --git a/packages/input-tel/test-helpers/index.js b/packages/input-tel/test-helpers/index.js new file mode 100644 index 000000000..d599fada8 --- /dev/null +++ b/packages/input-tel/test-helpers/index.js @@ -0,0 +1 @@ +export { mockPhoneUtilManager, restorePhoneUtilManager } from './mockPhoneUtilManager.js'; diff --git a/packages/input-tel/test-helpers/mockPhoneUtilManager.js b/packages/input-tel/test-helpers/mockPhoneUtilManager.js new file mode 100644 index 000000000..1c84414dc --- /dev/null +++ b/packages/input-tel/test-helpers/mockPhoneUtilManager.js @@ -0,0 +1,25 @@ +import { PhoneUtilManager } from '../src/PhoneUtilManager.js'; + +const originalLoadComplete = PhoneUtilManager.loadComplete; +const originalIsLoaded = PhoneUtilManager.isLoaded; + +export function mockPhoneUtilManager() { + /** @type {(value: any) => void} */ + let resolveLoaded; + let isLoaded = false; + PhoneUtilManager.loadComplete = new Promise(resolve => { + resolveLoaded = () => { + isLoaded = true; + resolve(undefined); + }; + }); + Object.defineProperty(PhoneUtilManager, 'isLoaded', { get: () => isLoaded }); + + // @ts-ignore + return { resolveLoaded }; +} + +export function restorePhoneUtilManager() { + PhoneUtilManager.loadComplete = originalLoadComplete; + Object.defineProperty(PhoneUtilManager, 'isLoaded', { get: () => originalIsLoaded }); +} diff --git a/packages/input-tel/test-suites/LionInputTel.suite.js b/packages/input-tel/test-suites/LionInputTel.suite.js new file mode 100644 index 000000000..090684c0e --- /dev/null +++ b/packages/input-tel/test-suites/LionInputTel.suite.js @@ -0,0 +1,384 @@ +import { + expect, + fixture as _fixture, + fixtureSync as _fixtureSync, + html, + defineCE, + unsafeStatic, + aTimeout, +} from '@open-wc/testing'; +import sinon from 'sinon'; +import { mimicUserInput } from '@lion/form-core/test-helpers'; +import { localize } from '@lion/localize'; +import { LionInputTel } from '../src/LionInputTel.js'; +import { IsPhoneNumber } from '../src/validators.js'; +import { PhoneUtilManager } from '../src/PhoneUtilManager.js'; +import { + mockPhoneUtilManager, + restorePhoneUtilManager, +} from '../test-helpers/mockPhoneUtilManager.js'; + +/** + * @typedef {import('@lion/core').TemplateResult} TemplateResult + * @typedef {import('../types').RegionCode} RegionCode + */ + +const fixture = /** @type {(arg: string | TemplateResult) => Promise} */ (_fixture); +const fixtureSync = /** @type {(arg: string | TemplateResult) => LionInputTel} */ (_fixtureSync); + +// const isPhoneNumberUtilLoadComplete = el => el._phoneUtilLoadComplete; + +const getRegionCodeBasedOnLocale = () => { + const localeSplitted = localize.locale.split('-'); + return /** @type {RegionCode} */ (localeSplitted[localeSplitted.length - 1]).toUpperCase(); +}; + +/** + * @param {{ klass:LionInputTel }} config + */ +// @ts-ignore +export function runInputTelSuite({ klass = LionInputTel } = {}) { + // @ts-ignore + const tagName = defineCE(/** @type {* & HTMLElement} */ (class extends klass {})); + const tag = unsafeStatic(tagName); + + describe('LionInputTel', () => { + beforeEach(async () => { + // Wait till PhoneUtilManager has been loaded + await PhoneUtilManager.loadComplete; + }); + + describe('Region codes', () => { + describe('Readonly accessor `.activeRegion`', () => { + // 1. **allowed regions**: try to get the region from preconfigured allowed region (first entry) + it('takes .allowedRegions[0] when only one allowed region configured', async () => { + const el = await fixture( + html` <${tag} .allowedRegions="${['DE']}" .modelValue="${'+31612345678'}" > `, + ); + await el.updateComplete; + expect(el.activeRegion).to.equal('DE'); + }); + + it('returns undefined when multiple .allowedRegions, but no modelValue match', async () => { + // involve locale, so we are sure it does not fall back on locale + const currentCode = getRegionCodeBasedOnLocale(); + const allowedRegions = ['BE', 'DE', 'CN']; + const el = await fixture( + html` <${tag} .modelValue="${'+31612345678'}" .allowedRegions="${allowedRegions.filter( + ar => ar !== currentCode, + )}"> `, + ); + expect(el.activeRegion).to.equal(undefined); + }); + + // 2. **user input**: try to derive active region from user input + it('deducts it from modelValue when provided', async () => { + const el = await fixture(html` <${tag} .modelValue="${'+31612345678'}"> `); + // Region code for country code '31' is 'NL' + expect(el.activeRegion).to.equal('NL'); + }); + + it('.modelValue takes precedence over .allowedRegions when both preconfigured and .modelValue updated', async () => { + const el = await fixture( + html` <${tag} .allowedRegions="${[ + 'DE', + 'BE', + 'NL', + ]}" .modelValue="${'+31612345678'}" > `, + ); + expect(el.activeRegion).to.equal('NL'); + }); + + // 3. **locale**: try to get the region from locale (`html[lang]` attribute) + it('automatically bases it on current locale when nothing preconfigured', async () => { + const el = await fixture(html` <${tag}> `); + const currentCode = getRegionCodeBasedOnLocale(); + expect(el.activeRegion).to.equal(currentCode); + }); + + it('returns undefined when locale not within allowed regions', async () => { + const currentCode = getRegionCodeBasedOnLocale(); + const allowedRegions = ['NL', 'BE', 'DE']; + const el = await fixture( + html` <${tag} .allowedRegions="${allowedRegions.filter( + ar => ar !== currentCode, + )}"> `, + ); + expect(el.activeRegion).to.equal(undefined); + }); + }); + + it('can preconfigure the region code via prop', async () => { + const currentCode = getRegionCodeBasedOnLocale(); + const newCode = currentCode === 'DE' ? 'NL' : 'DE'; + const el = await fixture(html` <${tag} .allowedRegions="${[newCode]}"> `); + expect(el.activeRegion).to.equal(newCode); + }); + + it.skip('reformats when region code is changed on the fly', async () => { + const el = await fixture( + html` <${tag} .allowedRegions="${['NL']}" .modelValue="${'+31612345678'}"> `, + ); + await el.updateComplete; + expect(el.formattedValue).to.equal('+31 6 12345678'); + el.allowedRegions = ['NL']; + await el.updateComplete; + expect(el.formattedValue).to.equal('612345678'); + }); + }); + + describe('Readonly accessor `.activePhoneNumberType`', () => { + const types = [ + { type: 'fixed-line', number: '030 1234567', allowedRegions: ['NL'] }, + { type: 'mobile', number: '06 12345678', allowedRegions: ['NL'] }, + // { type: 'fixed-line-or-mobile', number: '030 1234567' }, + // { type: 'pager', number: '06 12345678' }, + // { type: 'personal-number', number: '06 12345678' }, + // { type: 'premium-rate', number: '06 12345678' }, + // { type: 'shared-cost', : '06 12345678' }, + // { type: 'toll-free', number: '06 12345678' }, + // { type: 'uan', number: '06 12345678' }, + // { type: 'voip', number: '06 12345678' }, + // { type: 'unknown', number: '06 12345678' }, + ]; + + for (const { type, number, allowedRegions } of types) { + it(`returns "${type}" for ${type} numbers`, async () => { + const el = await fixture(html` <${tag} .allowedRegions="${allowedRegions}"> `); + mimicUserInput(el, number); + await aTimeout(0); + expect(el.activePhoneNumberType).to.equal(type); + }); + } + }); + + describe('User interaction', () => { + it('sets inputmode to "tel" for mobile keyboard', async () => { + const el = await fixture(html` <${tag}> `); + // @ts-expect-error [allow-protected] inside tests + expect(el._inputNode.inputMode).to.equal('tel'); + }); + + it('formats according to locale', async () => { + const el = await fixture( + html` <${tag} .modelValue="${'+31612345678'}" .allowedRegions="${['NL']}"> `, + ); + await aTimeout(0); + expect(el.formattedValue).to.equal('+31 6 12345678'); + }); + + it('does not reflect back formattedValue after activeRegion change when input still focused', async () => { + const el = await fixture(html` <${tag} .modelValue="${'+639608920056'}"> `); + expect(el.activeRegion).to.equal('PH'); + el.focus(); + mimicUserInput(el, '+31612345678'); + await el.updateComplete; + await el.updateComplete; + expect(el.activeRegion).to.equal('NL'); + expect(el.formattedValue).to.equal('+31 6 12345678'); + expect(el.value).to.equal('+31612345678'); + }); + }); + + // https://www.npmjs.com/package/google-libphonenumber + // https://en.wikipedia.org/wiki/E.164 + describe('Values', () => { + it('stores a modelValue in E164 format', async () => { + const el = await fixture(html` <${tag} .allowedRegions="${['NL']}"> `); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.modelValue).to.equal('+31612345678'); + }); + + it('stores a serializedValue in E164 format', async () => { + const el = await fixture(html` <${tag} .allowedRegions="${['NL']}"> `); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.serializedValue).to.equal('+31612345678'); + }); + + it('stores a formattedValue according to format strategy', async () => { + const el = await fixture( + html` <${tag} format-strategy="national" .allowedRegions="${['NL']}"> `, + ); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.formattedValue).to.equal('06 12345678'); + }); + + describe('Format strategies', () => { + it('supports "national" strategy', async () => { + const el = await fixture( + html` <${tag} format-strategy="national" .allowedRegions="${['NL']}"> `, + ); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.formattedValue).to.equal('06 12345678'); + }); + + it('supports "international" strategy', async () => { + const el = await fixture( + html` <${tag} format-strategy="international" .allowedRegions="${['NL']}"> `, + ); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.formattedValue).to.equal('+31 6 12345678'); + }); + + it('supports "e164" strategy', async () => { + const el = await fixture( + html` <${tag} format-strategy="e164" .allowedRegions="${['NL']}"> `, + ); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.formattedValue).to.equal('+31612345678'); + }); + + it('supports "rfc3966" strategy', async () => { + const el = await fixture( + html` <${tag} format-strategy="rfc3966" .allowedRegions="${['NL']}"> `, + ); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.formattedValue).to.equal('tel:+31-6-12345678'); + }); + + it('supports "significant" strategy', async () => { + const el = await fixture( + html` <${tag} format-strategy="significant" .allowedRegions="${['NL']}"> `, + ); + mimicUserInput(el, '612345678'); + await aTimeout(0); + expect(el.formattedValue).to.equal('612345678'); + }); + }); + + // TODO: this should be allowed for in FormatMixin => + // in _onModelValueChanged we can add a hook '_checkModelValueFormat'. This needs to be + // called whenever .modelValue is supplied by devleloper (not when being internal result + // of parser call). + // Alternatively, we could be forgiving by attempting to treat it as a view value and + // correct the format (although strictness will be preferred...) + it.skip('does not allow modelValues in non E164 format', async () => { + const el = await fixture( + html` <${tag} .modelValue="${'612345678'}" .allowedRegions="${['NL']}"> `, + ); + expect(el.modelValue).to.equal(undefined); + }); + }); + + describe('Validation', () => { + it('applies IsPhoneNumber as default validator', async () => { + const el = await fixture(html` <${tag}> `); + expect(el.defaultValidators.find(v => v instanceof IsPhoneNumber)).to.be.not.undefined; + }); + + it('configures IsPhoneNumber with regionCode before first validation', async () => { + const el = fixtureSync( + html` <${tag} .allowedRegions="${['NL']}" .modelValue="${'612345678'}"> `, + ); + const spy = sinon.spy(el, 'validate'); + const validatorInstance = /** @type {IsPhoneNumber} */ ( + el.defaultValidators.find(v => v instanceof IsPhoneNumber) + ); + await el.updateComplete; + expect(validatorInstance.param).to.equal('NL'); + expect(spy).to.have.been.called; + spy.restore(); + }); + + it('updates IsPhoneNumber param on regionCode change', async () => { + const el = await fixture( + html` <${tag} .allowedRegions="${['NL']}" .modelValue="${'612345678'}"> `, + ); + const validatorInstance = /** @type {IsPhoneNumber} */ ( + el.defaultValidators.find(v => v instanceof IsPhoneNumber) + ); + // @ts-expect-error allow protected in tests + el._setActiveRegion('DE'); + await el.updateComplete; + expect(validatorInstance.param).to.equal('DE'); + }); + }); + + describe('User interaction', () => { + it('sets inputmode to "tel" for mobile keyboard', async () => { + const el = await fixture(html` <${tag}> `); + // @ts-expect-error [allow-protected] inside tests + expect(el._inputNode.inputMode).to.equal('tel'); + }); + + it('formats according to locale', async () => { + const el = await fixture(html` <${tag} .allowedRegions="${['NL']}"> `); + await PhoneUtilManager.loadComplete; + await el.updateComplete; + el.modelValue = '612345678'; + expect(el.formattedValue).to.equal('+31 6 12345678'); + }); + }); + + describe('Live format', () => { + it('calls .preprocessor on keyup', async () => { + const el = await fixture(html` <${tag} .allowedRegions="${['NL']}"> `); + mimicUserInput(el, '+316'); + await aTimeout(0); + expect(el.value).to.equal('+31 6'); + }); + }); + + describe('Accessibility', () => { + describe('Audit', () => { + it('passes a11y audit', async () => { + const el = await fixture(html`<${tag} label="tel" .modelValue=${'0123456789'}>`); + await expect(el).to.be.accessible(); + }); + + it('passes a11y audit when readonly', async () => { + const el = await fixture( + html`<${tag} label="tel" readonly .modelValue=${'0123456789'}>`, + ); + await expect(el).to.be.accessible(); + }); + + it('passes a11y audit when disabled', async () => { + const el = await fixture( + html`<${tag} label="tel" disabled .modelValue=${'0123456789'}>`, + ); + await expect(el).to.be.accessible(); + }); + }); + }); + + describe('Lazy loading awesome-phonenumber', () => { + /** @type {(value:any) => void} */ + let resolveLoaded; + beforeEach(() => { + ({ resolveLoaded } = mockPhoneUtilManager()); + }); + + afterEach(() => { + restorePhoneUtilManager(); + }); + + it('reformats once lib has been loaded', async () => { + const el = await fixture( + html` <${tag} .modelValue="${'612345678'}" .allowedRegions="${['NL']}"> `, + ); + expect(el.formattedValue).to.equal('612345678'); + resolveLoaded(undefined); + await aTimeout(0); + expect(el.formattedValue).to.equal('+31 6 12345678'); + }); + + it('validates once lib has been loaded', async () => { + const el = await fixture( + html` <${tag} .modelValue="${'+31612345678'}" .allowedRegions="${['DE']}"> `, + ); + expect(el.hasFeedbackFor).to.eql([]); + resolveLoaded(undefined); + await aTimeout(0); + expect(el.hasFeedbackFor).to.eql(['error']); + }); + }); + }); +} diff --git a/packages/input-tel/test-suites/index.js b/packages/input-tel/test-suites/index.js new file mode 100644 index 000000000..a1794c882 --- /dev/null +++ b/packages/input-tel/test-suites/index.js @@ -0,0 +1 @@ +export { runInputTelSuite } from './LionInputTel.suite.js'; diff --git a/packages/input-tel/test/LionInputTel.test.js b/packages/input-tel/test/LionInputTel.test.js new file mode 100644 index 000000000..9c97a7c5d --- /dev/null +++ b/packages/input-tel/test/LionInputTel.test.js @@ -0,0 +1,3 @@ +import { runInputTelSuite } from '../test-suites/LionInputTel.suite.js'; + +runInputTelSuite(); diff --git a/packages/input-tel/test/formatters.test.js b/packages/input-tel/test/formatters.test.js new file mode 100644 index 000000000..b53fe02a5 --- /dev/null +++ b/packages/input-tel/test/formatters.test.js @@ -0,0 +1,28 @@ +import { expect } from '@open-wc/testing'; +import { formatPhoneNumber } from '../src/formatters.js'; +import { PhoneUtilManager } from '../src/PhoneUtilManager.js'; + +describe('formatPhoneNumber', () => { + beforeEach(async () => { + // Wait till PhoneUtilManager has been loaded + await PhoneUtilManager.loadComplete; + }); + + it('formats a phone number according to provided formatStrategy', () => { + expect(formatPhoneNumber('0707123456', { regionCode: 'SE', formatStrategy: 'e164' })).to.equal( + '+46707123456', + ); + expect( + formatPhoneNumber('+46707123456', { regionCode: 'SE', formatStrategy: 'international' }), + ).to.equal('+46 70 712 34 56'); + expect( + formatPhoneNumber('+46707123456', { regionCode: 'SE', formatStrategy: 'national' }), + ).to.equal('070-712 34 56'); + expect( + formatPhoneNumber('+46707123456', { regionCode: 'SE', formatStrategy: 'rfc3966' }), + ).to.equal('tel:+46-70-712-34-56'); + expect( + formatPhoneNumber('+46707123456', { regionCode: 'SE', formatStrategy: 'significant' }), + ).to.equal('707123456'); + }); +}); diff --git a/packages/input-tel/test/parsers.test.js b/packages/input-tel/test/parsers.test.js new file mode 100644 index 000000000..9f1852d02 --- /dev/null +++ b/packages/input-tel/test/parsers.test.js @@ -0,0 +1,16 @@ +import { expect } from '@open-wc/testing'; +import { parsePhoneNumber } from '../src/parsers.js'; +import { PhoneUtilManager } from '../src/PhoneUtilManager.js'; + +describe('parsePhoneNumber', () => { + beforeEach(async () => { + // Wait till PhoneUtilManager has been loaded + await PhoneUtilManager.loadComplete; + }); + + it('parses a a view value to e164 standard', () => { + expect(parsePhoneNumber('0707123456', { regionCode: 'SE' })).to.equal('+46707123456'); + expect(parsePhoneNumber('0707123456', { regionCode: 'NL' })).to.equal('+31707123456'); + expect(parsePhoneNumber('0707123456', { regionCode: 'DE' })).to.equal('+49707123456'); + }); +}); diff --git a/packages/input-tel/test/preprocessors.test.js b/packages/input-tel/test/preprocessors.test.js new file mode 100644 index 000000000..749d56212 --- /dev/null +++ b/packages/input-tel/test/preprocessors.test.js @@ -0,0 +1,32 @@ +import { expect } from '@open-wc/testing'; +import { liveFormatPhoneNumber } from '../src/preprocessors.js'; +import { PhoneUtilManager } from '../src/PhoneUtilManager.js'; + +describe('liveFormatPhoneNumber', () => { + beforeEach(async () => { + // Wait till PhoneUtilManager has been loaded + await PhoneUtilManager.loadComplete; + }); + + it('live formats an incomplete view value', () => { + expect( + liveFormatPhoneNumber('+316123', { + regionCode: 'NL', + formatStrategy: 'international', + prevViewValue: '+36123', + currentCaretIndex: 2, + }), + ).to.eql({ viewValue: '+31 6 123', caretIndex: 4 }); + }); + + it('live formats a complete view value', () => { + expect( + liveFormatPhoneNumber('+31612345678', { + regionCode: 'NL', + formatStrategy: 'international', + prevViewValue: '+3161234578', + currentCaretIndex: 10, + }), + ).to.eql({ caretIndex: 12, viewValue: '+31 6 12345678' }); + }); +}); diff --git a/packages/input-tel/test/validators.test.js b/packages/input-tel/test/validators.test.js new file mode 100644 index 000000000..3fc2fed27 --- /dev/null +++ b/packages/input-tel/test/validators.test.js @@ -0,0 +1,94 @@ +import sinon from 'sinon'; +import { expect, aTimeout } from '@open-wc/testing'; +import { IsPhoneNumber } from '../src/validators.js'; +import { PhoneUtilManager } from '../src/PhoneUtilManager.js'; +import { + mockPhoneUtilManager, + restorePhoneUtilManager, +} from '../test-helpers/mockPhoneUtilManager.js'; + +/** + * @typedef {* & import('@lion/input-tel/lib/awesome-phonenumber-esm').default} PhoneNumber + */ + +// For enum output, see: https://www.npmjs.com/package/awesome-phonenumber +describe('IsPhoneNumber validation', () => { + beforeEach(async () => { + // Wait till PhoneUtilManager has been loaded + await PhoneUtilManager.loadComplete; + }); + + it('is invalid when no input is provided', () => { + const validator = new IsPhoneNumber(); + expect(validator.execute('', 'NL')).to.equal('unknown'); + }); + + it('is invalid when non digits are entered, returns "unknown"', () => { + const validator = new IsPhoneNumber(); + expect(validator.execute('foo', 'NL')).to.equal('unknown'); + }); + + it('is invalid when wrong country code is entered, returns "invalid-country-code"', () => { + const validator = new IsPhoneNumber(); + // 32 is BE region code + expect(validator.execute('+32612345678', 'NL')).to.equal('invalid-country-code'); + }); + + // TODO: find out why awesome-phonenumber does not detect too-short/too-long + it.skip('is invalid when number is too short, returns "too-short"', () => { + const validator = new IsPhoneNumber(); + expect(validator.execute('+3161234567', 'NL')).to.equal('too-short'); + }); + + // TODO: find out why awesome-phonenumber does not detect too-short/too-long + it.skip('is invalid when number is too long, returns "too-long"', () => { + const validator = new IsPhoneNumber(); + expect(validator.execute('+316123456789', 'NL')).to.equal('too-long'); + }); + + it('is valid when a phone number is entered', () => { + const validator = new IsPhoneNumber(); + expect(validator.execute('+31612345678', 'NL')).to.be.false; + }); + + it('handles validation via awesome-phonenumber', () => { + const validator = new IsPhoneNumber(); + const spy = sinon.spy(PhoneUtilManager, 'PhoneNumber'); + validator.execute('0123456789', 'NL'); + expect(spy).to.have.been.calledOnce; + expect(spy.lastCall.args[1]).to.equal('NL'); + validator.execute('0123456789', 'DE'); + expect(spy.lastCall.args[1]).to.equal('DE'); + spy.restore(); + }); + + describe('Lazy loading PhoneUtilManager', () => { + /** @type {(value:any) => void} */ + let resolveLoaded; + beforeEach(() => { + ({ resolveLoaded } = mockPhoneUtilManager()); + }); + + afterEach(() => { + restorePhoneUtilManager(); + }); + + it('behaves asynchronously when lib is still loading', () => { + expect(IsPhoneNumber.async).to.be.true; + resolveLoaded(undefined); + expect(IsPhoneNumber.async).to.be.false; + }); + + it('waits for the lib to be loaded before execution completes when still in async mode', async () => { + const validator = new IsPhoneNumber(); + const spy = sinon.spy(PhoneUtilManager, 'PhoneNumber'); + const validationResult = validator.execute('061234', 'NL'); + expect(validationResult).to.be.instanceOf(Promise); + expect(spy).to.not.have.been.called; + resolveLoaded(undefined); + await aTimeout(0); + expect(spy).to.have.been.calledOnce; + spy.restore(); + }); + }); +}); diff --git a/packages/input-tel/translations/bg-BG.js b/packages/input-tel/translations/bg-BG.js new file mode 100644 index 000000000..00f5e5f61 --- /dev/null +++ b/packages/input-tel/translations/bg-BG.js @@ -0,0 +1,5 @@ +import bg from './bg.js'; + +export default { + ...bg, +}; diff --git a/packages/input-tel/translations/bg.js b/packages/input-tel/translations/bg.js new file mode 100644 index 000000000..e20fb986d --- /dev/null +++ b/packages/input-tel/translations/bg.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Избор на държава', + phoneNumber: 'Телефонен номер', +}; diff --git a/packages/input-tel/translations/cs-CZ.js b/packages/input-tel/translations/cs-CZ.js new file mode 100644 index 000000000..2cac51aa8 --- /dev/null +++ b/packages/input-tel/translations/cs-CZ.js @@ -0,0 +1,5 @@ +import cs from './cs.js'; + +export default { + ...cs, +}; diff --git a/packages/input-tel/translations/cs.js b/packages/input-tel/translations/cs.js new file mode 100644 index 000000000..0dd327c6e --- /dev/null +++ b/packages/input-tel/translations/cs.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Vybrat zemi', + phoneNumber: 'Telefonní číslo', +}; diff --git a/packages/input-tel/translations/de-DE.js b/packages/input-tel/translations/de-DE.js new file mode 100644 index 000000000..8e3fb7c86 --- /dev/null +++ b/packages/input-tel/translations/de-DE.js @@ -0,0 +1,5 @@ +import de from './de.js'; + +export default { + ...de, +}; diff --git a/packages/input-tel/translations/de.js b/packages/input-tel/translations/de.js new file mode 100644 index 000000000..76278eea5 --- /dev/null +++ b/packages/input-tel/translations/de.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Land auswählen', + phoneNumber: 'Telefonnummer', +}; diff --git a/packages/input-tel/translations/en-AU.js b/packages/input-tel/translations/en-AU.js new file mode 100644 index 000000000..e164dab30 --- /dev/null +++ b/packages/input-tel/translations/en-AU.js @@ -0,0 +1,5 @@ +import en from './en.js'; + +export default { + ...en, +}; diff --git a/packages/input-tel/translations/en-GB.js b/packages/input-tel/translations/en-GB.js new file mode 100644 index 000000000..e164dab30 --- /dev/null +++ b/packages/input-tel/translations/en-GB.js @@ -0,0 +1,5 @@ +import en from './en.js'; + +export default { + ...en, +}; diff --git a/packages/input-tel/translations/en-US.js b/packages/input-tel/translations/en-US.js new file mode 100644 index 000000000..e164dab30 --- /dev/null +++ b/packages/input-tel/translations/en-US.js @@ -0,0 +1,5 @@ +import en from './en.js'; + +export default { + ...en, +}; diff --git a/packages/input-tel/translations/en.js b/packages/input-tel/translations/en.js new file mode 100644 index 000000000..425dd3390 --- /dev/null +++ b/packages/input-tel/translations/en.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Select country', + phoneNumber: 'Phone number', +}; diff --git a/packages/input-tel/translations/es-ES.js b/packages/input-tel/translations/es-ES.js new file mode 100644 index 000000000..94a009944 --- /dev/null +++ b/packages/input-tel/translations/es-ES.js @@ -0,0 +1,5 @@ +import es from './es.js'; + +export default { + ...es, +}; diff --git a/packages/input-tel/translations/es.js b/packages/input-tel/translations/es.js new file mode 100644 index 000000000..7c3122310 --- /dev/null +++ b/packages/input-tel/translations/es.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Seleccione país', + phoneNumber: 'Número de teléfono', +}; diff --git a/packages/input-tel/translations/fr-BE.js b/packages/input-tel/translations/fr-BE.js new file mode 100644 index 000000000..da02615de --- /dev/null +++ b/packages/input-tel/translations/fr-BE.js @@ -0,0 +1,5 @@ +import fr from './fr.js'; + +export default { + ...fr, +}; diff --git a/packages/input-tel/translations/fr-FR.js b/packages/input-tel/translations/fr-FR.js new file mode 100644 index 000000000..da02615de --- /dev/null +++ b/packages/input-tel/translations/fr-FR.js @@ -0,0 +1,5 @@ +import fr from './fr.js'; + +export default { + ...fr, +}; diff --git a/packages/input-tel/translations/fr.js b/packages/input-tel/translations/fr.js new file mode 100644 index 000000000..1ce32e428 --- /dev/null +++ b/packages/input-tel/translations/fr.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Sélectionnez un pays', + phoneNumber: 'Numéro de téléphone', +}; diff --git a/packages/input-tel/translations/hu-HU.js b/packages/input-tel/translations/hu-HU.js new file mode 100644 index 000000000..130ba8f66 --- /dev/null +++ b/packages/input-tel/translations/hu-HU.js @@ -0,0 +1,5 @@ +import hu from './hu.js'; + +export default { + ...hu, +}; diff --git a/packages/input-tel/translations/hu.js b/packages/input-tel/translations/hu.js new file mode 100644 index 000000000..2d380d273 --- /dev/null +++ b/packages/input-tel/translations/hu.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Ország kiválasztása', + phoneNumber: 'Telefonszám', +}; diff --git a/packages/input-tel/translations/it-IT.js b/packages/input-tel/translations/it-IT.js new file mode 100644 index 000000000..397b5a03b --- /dev/null +++ b/packages/input-tel/translations/it-IT.js @@ -0,0 +1,5 @@ +import it from './it.js'; + +export default { + ...it, +}; diff --git a/packages/input-tel/translations/it.js b/packages/input-tel/translations/it.js new file mode 100644 index 000000000..6ad426bb4 --- /dev/null +++ b/packages/input-tel/translations/it.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Selezionare il paese', + phoneNumber: 'Numero di telefono', +}; diff --git a/packages/input-tel/translations/nl-BE.js b/packages/input-tel/translations/nl-BE.js new file mode 100644 index 000000000..93467cea6 --- /dev/null +++ b/packages/input-tel/translations/nl-BE.js @@ -0,0 +1,5 @@ +import nl from './nl.js'; + +export default { + ...nl, +}; diff --git a/packages/input-tel/translations/nl-NL.js b/packages/input-tel/translations/nl-NL.js new file mode 100644 index 000000000..93467cea6 --- /dev/null +++ b/packages/input-tel/translations/nl-NL.js @@ -0,0 +1,5 @@ +import nl from './nl.js'; + +export default { + ...nl, +}; diff --git a/packages/input-tel/translations/nl.js b/packages/input-tel/translations/nl.js new file mode 100644 index 000000000..1f096445b --- /dev/null +++ b/packages/input-tel/translations/nl.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Selecteer land', + phoneNumber: 'Telefoonnummer', +}; diff --git a/packages/input-tel/translations/pl-PL.js b/packages/input-tel/translations/pl-PL.js new file mode 100644 index 000000000..cb0d0b8b6 --- /dev/null +++ b/packages/input-tel/translations/pl-PL.js @@ -0,0 +1,5 @@ +import pl from './pl.js'; + +export default { + ...pl, +}; diff --git a/packages/input-tel/translations/pl.js b/packages/input-tel/translations/pl.js new file mode 100644 index 000000000..ba2dc5a97 --- /dev/null +++ b/packages/input-tel/translations/pl.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Wybierz kraj', + phoneNumber: 'Numer telefonu', +}; diff --git a/packages/input-tel/translations/ro-RO.js b/packages/input-tel/translations/ro-RO.js new file mode 100644 index 000000000..8acc92b29 --- /dev/null +++ b/packages/input-tel/translations/ro-RO.js @@ -0,0 +1,5 @@ +import ro from './ro.js'; + +export default { + ...ro, +}; diff --git a/packages/input-tel/translations/ro.js b/packages/input-tel/translations/ro.js new file mode 100644 index 000000000..a1d485c7b --- /dev/null +++ b/packages/input-tel/translations/ro.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Selectare țară', + phoneNumber: 'Număr de telefon', +}; diff --git a/packages/input-tel/translations/ru-RU.js b/packages/input-tel/translations/ru-RU.js new file mode 100644 index 000000000..e5f8f2aa1 --- /dev/null +++ b/packages/input-tel/translations/ru-RU.js @@ -0,0 +1,5 @@ +import ru from './ru.js'; + +export default { + ...ru, +}; diff --git a/packages/input-tel/translations/ru.js b/packages/input-tel/translations/ru.js new file mode 100644 index 000000000..4a922f844 --- /dev/null +++ b/packages/input-tel/translations/ru.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Выбрать страну', + phoneNumber: 'Номер телефона', +}; diff --git a/packages/input-tel/translations/sk-SK.js b/packages/input-tel/translations/sk-SK.js new file mode 100644 index 000000000..3000b323f --- /dev/null +++ b/packages/input-tel/translations/sk-SK.js @@ -0,0 +1,5 @@ +import sk from './sk.js'; + +export default { + ...sk, +}; diff --git a/packages/input-tel/translations/sk.js b/packages/input-tel/translations/sk.js new file mode 100644 index 000000000..51587dc57 --- /dev/null +++ b/packages/input-tel/translations/sk.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Zvoliť krajinu', + phoneNumber: 'Telefónne číslo', +}; diff --git a/packages/input-tel/translations/uk-UA.js b/packages/input-tel/translations/uk-UA.js new file mode 100644 index 000000000..e255cc021 --- /dev/null +++ b/packages/input-tel/translations/uk-UA.js @@ -0,0 +1,5 @@ +import uk from './uk.js'; + +export default { + ...uk, +}; diff --git a/packages/input-tel/translations/uk.js b/packages/input-tel/translations/uk.js new file mode 100644 index 000000000..1218d2e94 --- /dev/null +++ b/packages/input-tel/translations/uk.js @@ -0,0 +1,4 @@ +export default { + selectCountry: 'Вибрати країну', + phoneNumber: 'Номер телефону', +}; diff --git a/packages/input-tel/translations/zh.js b/packages/input-tel/translations/zh.js new file mode 100644 index 000000000..db68955ab --- /dev/null +++ b/packages/input-tel/translations/zh.js @@ -0,0 +1,4 @@ +export default { + selectCountry: '选择国家/地区', + phoneNumber: '电话号码', +}; diff --git a/packages/input-tel/types/index.d.ts b/packages/input-tel/types/index.d.ts new file mode 100644 index 000000000..7ca6bcafb --- /dev/null +++ b/packages/input-tel/types/index.d.ts @@ -0,0 +1,290 @@ +/* + * Phone number types as provided by google-libphonenumber + * See: + * - https://www.npmjs.com/package/google-libphonenumber + * - https://www.npmjs.com/package/awesome-phonenumber + */ +export type PhoneNumberType = + | 'fixed-line' + | 'fixed-line-or-mobile' + | 'mobile' + | 'pager' + | 'personal-number' + | 'premium-rate' + | 'shared-cost' + | 'toll-free' + | 'uan' + | 'voip' + | 'unknown'; + +/* + * Phone number possibilities as provided by google-libphonenumber + * See: + * - https://www.npmjs.com/package/google-libphonenumber + * - https://www.npmjs.com/package/awesome-phonenumber + */ +export type PhoneNumberPossibility = + | 'is-possible' + | 'invalid-country-code' + | 'too-long' + | 'too-short' + | 'unknown'; + +/* + * Phone number formats / formatting strategies as provided by google-libphonenumber + * See: + * - https://www.npmjs.com/package/google-libphonenumber + * - https://www.npmjs.com/package/awesome-phonenumber + */ +export type FormatStrategy = 'e164' | 'international' | 'national' | 'rfc3966' | 'significant'; + +/** + * Supported countries/regions as provided via + * `libphonenumber.PhoneNumberUtil.getInstance().getSupportedRegions()` + */ +export type RegionCode = + | 'AC' + | 'AD' + | 'AE' + | 'AF' + | 'AG' + | 'AI' + | 'AL' + | 'AM' + | 'AO' + | 'AR' + | 'AS' + | 'AT' + | 'AU' + | 'AW' + | 'AX' + | 'AZ' + | 'BA' + | 'BB' + | 'BD' + | 'BE' + | 'BF' + | 'BG' + | 'BH' + | 'BI' + | 'BJ' + | 'BL' + | 'BM' + | 'BN' + | 'BO' + | 'BQ' + | 'BR' + | 'BS' + | 'BT' + | 'BW' + | 'BY' + | 'BZ' + | 'CA' + | 'CC' + | 'CD' + | 'CF' + | 'CG' + | 'CH' + | 'CI' + | 'CK' + | 'CL' + | 'CM' + | 'CN' + | 'CO' + | 'CR' + | 'CU' + | 'CV' + | 'CW' + | 'CX' + | 'CY' + | 'CZ' + | 'DE' + | 'DJ' + | 'DK' + | 'DM' + | 'DO' + | 'DZ' + | 'EC' + | 'EE' + | 'EG' + | 'EH' + | 'ER' + | 'ES' + | 'ET' + | 'FI' + | 'FJ' + | 'FK' + | 'FM' + | 'FO' + | 'FR' + | 'GA' + | 'GB' + | 'GD' + | 'GE' + | 'GF' + | 'GG' + | 'GH' + | 'GI' + | 'GL' + | 'GM' + | 'GN' + | 'GP' + | 'GQ' + | 'GR' + | 'GT' + | 'GU' + | 'GW' + | 'GY' + | 'HK' + | 'HN' + | 'HR' + | 'HT' + | 'HU' + | 'ID' + | 'IE' + | 'IL' + | 'IM' + | 'IN' + | 'IO' + | 'IQ' + | 'IR' + | 'IS' + | 'IT' + | 'JE' + | 'JM' + | 'JO' + | 'JP' + | 'KE' + | 'KG' + | 'KH' + | 'KI' + | 'KM' + | 'KN' + | 'KP' + | 'KR' + | 'KW' + | 'KY' + | 'KZ' + | 'LA' + | 'LB' + | 'LC' + | 'LI' + | 'LK' + | 'LR' + | 'LS' + | 'LT' + | 'LU' + | 'LV' + | 'LY' + | 'MA' + | 'MC' + | 'MD' + | 'ME' + | 'MF' + | 'MG' + | 'MH' + | 'MK' + | 'ML' + | 'MM' + | 'MN' + | 'MO' + | 'MP' + | 'MQ' + | 'MR' + | 'MS' + | 'MT' + | 'MU' + | 'MV' + | 'MW' + | 'MX' + | 'MY' + | 'MZ' + | 'NA' + | 'NC' + | 'NE' + | 'NF' + | 'NG' + | 'NI' + | 'NL' + | 'NO' + | 'NP' + | 'NR' + | 'NU' + | 'NZ' + | 'OM' + | 'PA' + | 'PE' + | 'PF' + | 'PG' + | 'PH' + | 'PK' + | 'PL' + | 'PM' + | 'PR' + | 'PS' + | 'PT' + | 'PW' + | 'PY' + | 'QA' + | 'RE' + | 'RO' + | 'RS' + | 'RU' + | 'RW' + | 'SA' + | 'SB' + | 'SC' + | 'SD' + | 'SE' + | 'SG' + | 'SH' + | 'SI' + | 'SJ' + | 'SK' + | 'SL' + | 'SM' + | 'SN' + | 'SO' + | 'SR' + | 'SS' + | 'ST' + | 'SV' + | 'SX' + | 'SY' + | 'SZ' + | 'TA' + | 'TC' + | 'TD' + | 'TG' + | 'TH' + | 'TJ' + | 'TK' + | 'TL' + | 'TM' + | 'TN' + | 'TO' + | 'TR' + | 'TT' + | 'TV' + | 'TW' + | 'TZ' + | 'UA' + | 'UG' + | 'US' + | 'UY' + | 'UZ' + | 'VA' + | 'VC' + | 'VE' + | 'VG' + | 'VI' + | 'VN' + | 'VU' + | 'WF' + | 'WS' + | 'XK' + | 'YE' + | 'YT' + | 'ZA' + | 'ZM' + | 'ZW';