Browse Source

Clean-up: Updating docs for getLengthOfNationalDestinationCode, deleting unneeded AYTF code (#2295)

The format of the data has changed such that formatting patterns now only refer to \d, not specific numbers, so we don't need the special handling in the AYTF code which converts them to \d.
pull/2296/head
lararennie 7 years ago
committed by GitHub
parent
commit
a395b4fef3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 644 additions and 741 deletions
  1. +0
    -51
      cpp/src/phonenumbers/asyoutypeformatter.cc
  2. +5
    -2
      cpp/src/phonenumbers/phonenumberutil.h
  3. +536
    -537
      cpp/src/phonenumbers/test_metadata.cc
  4. +2
    -2
      cpp/test/phonenumbers/phonenumberutil_test.cc
  5. +0
    -22
      java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
  6. +6
    -2
      java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
  7. +2
    -2
      java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
  8. BIN
      java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR
  9. BIN
      java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU
  10. BIN
      java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE
  11. BIN
      java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX
  12. BIN
      java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE
  13. BIN
      java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_UZ
  14. +0
    -38
      javascript/i18n/phonenumbers/asyoutypeformatter.js
  15. +59
    -60
      javascript/i18n/phonenumbers/demo-compiled.js
  16. +13
    -13
      javascript/i18n/phonenumbers/metadatafortesting.js
  17. +7
    -2
      javascript/i18n/phonenumbers/phonenumberutil.js
  18. +5
    -1
      pending_code_changes.txt
  19. +9
    -9
      resources/PhoneNumberMetadataForTesting.xml

+ 0
- 51
cpp/src/phonenumbers/asyoutypeformatter.cc View File

@ -38,10 +38,6 @@ namespace {
const char kPlusSign = '+';
// A pattern that is used to match character classes in regular expressions.
// An example of a character class is [1-4].
const char kCharacterClassPattern[] = "\\[([^\\[\\]])*\\]";
// This is the minimum length of national number accrued that is required to
// trigger the formatter. The first element of the leading_digits_pattern of
// each number_format contains a regular expression that matches up to this
@ -61,39 +57,6 @@ const char kSeparatorBeforeNationalNumber = ' ';
// number when formatting.
const char kNationalPrefixSeparatorsPattern[] = "[- ]";
// Replaces any standalone digit in the pattern (not any inside a {} grouping)
// with \d. This function replaces the standalone digit regex used in the Java
// version which is currently not supported by RE2 because it uses a special
// construct (?=).
void ReplacePatternDigits(string* pattern) {
DCHECK(pattern);
string new_pattern;
// This is needed since sometimes there is more than one digit in between the
// curly braces.
bool is_in_braces = false;
for (string::const_iterator it = pattern->begin(); it != pattern->end();
++it) {
const char current_char = *it;
if (isdigit(current_char)) {
if (is_in_braces) {
new_pattern += current_char;
} else {
new_pattern += "\\d";
}
} else {
new_pattern += current_char;
if (current_char == '{') {
is_in_braces = true;
} else if (current_char == '}') {
is_in_braces = false;
}
}
}
pattern->assign(new_pattern);
}
// Matches all the groups contained in 'input' against 'pattern'.
void MatchAllGroups(const string& pattern,
const string& input,
@ -273,20 +236,6 @@ void AsYouTypeFormatter::SetShouldAddSpaceAfterNationalPrefix(
bool AsYouTypeFormatter::CreateFormattingTemplate(const NumberFormat& format) {
string number_pattern = format.pattern();
// The formatter doesn't format numbers when numberPattern contains "|", e.g.
// (20|3)\d{4}. In those cases we quickly return.
if (number_pattern.find('|') != string::npos) {
return false;
}
// Replace anything in the form of [..] with \d.
static const scoped_ptr<const RegExp> character_class_pattern(
regexp_factory_->CreateRegExp(kCharacterClassPattern));
character_class_pattern->GlobalReplace(&number_pattern, "\\\\d");
// Replace any standalone digit (not the one in d{}) with \d.
ReplacePatternDigits(&number_pattern);
string number_format = format.format();
formatting_template_.remove();
UnicodeString temp_template;


+ 5
- 2
cpp/src/phonenumbers/phonenumberutil.h View File

@ -292,8 +292,11 @@ class PhoneNumberUtil : public Singleton<PhoneNumberUtil> {
// significant number into NDC and subscriber number. The NDC of a phone
// number is normally the first group of digit(s) right after the country
// calling code when the number is formatted in the international format, if
// there is a subscriber number part that follows. An example of how this
// could be used:
// there is a subscriber number part that follows.
//
// N.B.: similar to an area code, not all numbers have an NDC!
//
// An example of how this could be used:
//
// const PhoneNumberUtil& phone_util(*PhoneNumberUtil::GetInstance());
// PhoneNumber number;


+ 536
- 537
cpp/src/phonenumbers/test_metadata.cc
File diff suppressed because it is too large
View File


+ 2
- 2
cpp/test/phonenumbers/phonenumberutil_test.cc View File

@ -295,9 +295,9 @@ TEST_F(PhoneNumberUtilTest, GetInstanceLoadARMetadata) {
EXPECT_EQ("9$1", metadata->national_prefix_transform_rule());
ASSERT_EQ(5, metadata->number_format_size());
EXPECT_EQ("$2 15 $3-$4", metadata->number_format(2).format());
EXPECT_EQ("(9)(\\d{4})(\\d{2})(\\d{4})",
EXPECT_EQ("(\\d)(\\d{4})(\\d{2})(\\d{4})",
metadata->number_format(3).pattern());
EXPECT_EQ("(9)(\\d{4})(\\d{2})(\\d{4})",
EXPECT_EQ("(\\d)(\\d{4})(\\d{2})(\\d{4})",
metadata->intl_number_format(3).pattern());
EXPECT_EQ("$1 $2 $3 $4", metadata->intl_number_format(3).format());
}


+ 0
- 22
java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java View File

@ -66,16 +66,6 @@ public class AsYouTypeFormatter {
private PhoneMetadata defaultMetadata;
private PhoneMetadata currentMetadata;
// A pattern that is used to match character classes in regular expressions. An example of a
// character class is [1-4].
private static final Pattern CHARACTER_CLASS_PATTERN = Pattern.compile("\\[([^\\[\\]])*\\]");
// Any digit in a regular expression that actually denotes a digit. For example, in the regular
// expression 80[0-2]\d{6,10}, the first 2 digits (8 and 0) are standalone digits, but the rest
// are not.
// Two look-aheads are needed because the number following \\d could be a two-digit number, since
// the phone number can be as long as 15 digits.
private static final Pattern STANDALONE_DIGIT_PATTERN = Pattern.compile("\\d(?=[^,}][^,}])");
// A pattern that is used to determine if a numberFormat under availableFormats is eligible to be
// used by the AYTF. It is eligible when the format element under numberFormat contains groups of
// the dollar sign followed by a single digit, separated by valid phone number punctuation. This
@ -230,18 +220,6 @@ public class AsYouTypeFormatter {
private boolean createFormattingTemplate(NumberFormat format) {
String numberPattern = format.getPattern();
// The formatter doesn't format numbers when numberPattern contains "|", e.g.
// (20|3)\d{4}. In those cases we quickly return.
if (numberPattern.indexOf('|') != -1) {
return false;
}
// Replace anything in the form of [..] with \d
numberPattern = CHARACTER_CLASS_PATTERN.matcher(numberPattern).replaceAll("\\\\d");
// Replace any standalone digit (not the one in d{}) with \d
numberPattern = STANDALONE_DIGIT_PATTERN.matcher(numberPattern).replaceAll("\\\\d");
formattingTemplate.setLength(0);
String tempTemplate = getFormattingTemplate(numberPattern, format.getFormat());
if (tempTemplate.length() > 0) {


+ 6
- 2
java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java View File

@ -833,7 +833,11 @@ public class PhoneNumberUtil {
* to split a national significant number into NDC and subscriber number. The NDC of a phone
* number is normally the first group of digit(s) right after the country calling code when the
* number is formatted in the international format, if there is a subscriber number part that
* follows. An example of how this could be used:
* follows.
*
* N.B.: similar to an area code, not all numbers have an NDC!
*
* An example of how this could be used:
*
* <pre>{@code
* PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
@ -859,7 +863,7 @@ public class PhoneNumberUtil {
* @param number the PhoneNumber object for which clients
* want to know the length of the NDC
* @return the length of NDC of the PhoneNumber object
* passed in
* passed in, which could be zero
*/
public int getLengthOfNationalDestinationCode(PhoneNumber number) {
PhoneNumber copiedProto;


+ 2
- 2
java/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java View File

@ -241,9 +241,9 @@ public class PhoneNumberUtilTest extends TestMetadataTestCase {
assertEquals("0(?:(11|343|3715)15)?", metadata.getNationalPrefixForParsing());
assertEquals("9$1", metadata.getNationalPrefixTransformRule());
assertEquals("$2 15 $3-$4", metadata.getNumberFormat(2).getFormat());
assertEquals("(9)(\\d{4})(\\d{2})(\\d{4})",
assertEquals("(\\d)(\\d{4})(\\d{2})(\\d{4})",
metadata.getNumberFormat(3).getPattern());
assertEquals("(9)(\\d{4})(\\d{2})(\\d{4})",
assertEquals("(\\d)(\\d{4})(\\d{2})(\\d{4})",
metadata.getIntlNumberFormat(3).getPattern());
assertEquals("$1 $2 $3 $4", metadata.getIntlNumberFormat(3).getFormat());
}


BIN
java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR View File


BIN
java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU View File


BIN
java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE View File


BIN
java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX View File


BIN
java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE View File


BIN
java/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_UZ View File


+ 0
- 38
javascript/i18n/phonenumbers/asyoutypeformatter.js View File

@ -206,31 +206,6 @@ i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_
.setInternationalPrefix('NA');
/**
* A pattern that is used to match character classes in regular expressions.
* An example of a character class is [1-4].
* @const
* @type {RegExp}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.CHARACTER_CLASS_PATTERN_ =
/\[([^\[\]])*\]/g;
/**
* Any digit in a regular expression that actually denotes a digit. For
* example, in the regular expression 80[0-2]\d{6,10}, the first 2 digits
* (8 and 0) are standalone digits, but the rest are not.
* Two look-aheads are needed because the number following \\d could be a
* two-digit number, since the phone number can be as long as 15 digits.
* @const
* @type {RegExp}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.STANDALONE_DIGIT_PATTERN_ =
/\d(?=[^,}][^,}])/g;
/**
* A pattern that is used to determine if a numberFormat under availableFormats
* is eligible to be used by the AYTF. It is eligible when the format element
@ -437,19 +412,6 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_ =
/** @type {string} */
var numberPattern = format.getPatternOrDefault();
// The formatter doesn't format numbers when numberPattern contains '|', e.g.
// (20|3)\d{4}. In those cases we quickly return.
if (numberPattern.indexOf('|') != -1) {
return false;
}
// Replace anything in the form of [..] with \d
numberPattern = numberPattern.replace(
i18n.phonenumbers.AsYouTypeFormatter.CHARACTER_CLASS_PATTERN_, '\\d');
// Replace any standalone digit (not the one in d{}) with \d
numberPattern = numberPattern.replace(
i18n.phonenumbers.AsYouTypeFormatter.STANDALONE_DIGIT_PATTERN_, '\\d');
this.formattingTemplate_.clear();
/** @type {string} */
var tempTemplate = this.getFormattingTemplate_(numberPattern,


+ 59
- 60
javascript/i18n/phonenumbers/demo-compiled.js View File

@ -1,14 +1,14 @@
(function(){function h(a){return"string"==typeof a}function aa(a){a.da=void 0;a.ca=function(){return a.da?a.da:a.da=new a}}
(function(){function aa(a){a.da=void 0;a.ca=function(){return a.da?a.da:a.da=new a}}
function ba(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function l(a,b){function c(){}c.prototype=b.prototype;a.ea=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.pa=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function n(a){if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}l(n,Error);n.prototype.name="CustomError";function ca(a,b){a=a.split("%s");for(var c="",d=a.length-1,e=0;e<d;e++)c+=a[e]+(e<b.length?b[e]:"%s");n.call(this,c+a[d])}l(ca,n);ca.prototype.name="AssertionError";function da(a,b){throw new ca("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var p=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(h(a))return h(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function q(a,b){return 0<=p(a,b)}function ea(a,b){a.sort(b||fa)}function fa(a,b){return a>b?1:a<b?-1:0};function ha(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};function ia(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function ja(a,b){a:{for(var c in a)if(b.call(void 0,a[c],c,a)){b=c;break a}b=void 0}return b&&a[b]};function r(a){var b=document;return h(a)?b.getElementById(a):a};function ka(a){var b=[];la(new na,a,b);return b.join("")}function na(){}
function la(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if("array"==ba(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),e=d[f],la(a,e,c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");f="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(e=b[d],"function"!=typeof e&&(c.push(f),oa(d,c),c.push(":"),la(a,e,c),f=","));c.push("}");return}}switch(typeof b){case "string":oa(b,c);break;case "number":c.push(isFinite(b)&&
!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}}var pa={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},qa=/\uffff/.test("\uffff")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g;
function oa(a,b){b.push('"',a.replace(qa,function(a){var b=pa[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),pa[a]=b);return b}),'"')};function ra(a,b){this.a=a;this.j=b.name;this.f=!!b.u;this.b=b.c;this.l=b.type;this.i=!1;switch(this.b){case sa:case ta:case ua:case va:case wa:case xa:case ya:this.i=!0}this.g=b.defaultValue}var ya=1,xa=2,sa=3,ta=4,ua=6,va=16,wa=18;function za(a,b){this.b=a;this.a={};for(a=0;a<b.length;a++){var c=b[a];this.a[c.a]=c}}function Aa(a){a=ia(a.a);ea(a,function(a,c){return a.a-c.a});return a}function Ba(a,b){return ja(a.a,function(a){return a.j==b})||null};function t(){this.b={};this.f=this.h().a;this.a=this.g=null}function Ca(a,b){for(var c in a.b){var d=Number(c);a.f[d]||b.call(a,d,a.b[c])}}t.prototype.has=function(a){return u(this,a.a)};t.prototype.get=function(a,b){return v(this,a.a,b)};t.prototype.set=function(a,b){w(this,a.a,b)};t.prototype.add=function(a,b){Da(this,a.a,b)};
function Ea(a,b){for(var c=Aa(a.h()),d=0;d<c.length;d++){var e=c[d],f=e.a;if(u(b,f)){a.a&&delete a.a[e.a];var g=11==e.b||10==e.b;if(e.f){e=x(b,f);for(var k=0;k<e.length;k++)Da(a,f,g?e[k].clone():e[k])}else e=Fa(b,f),g?(g=Fa(a,f))?Ea(g,e):w(a,f,e.clone()):w(a,f,e)}}}t.prototype.clone=function(){var a=new this.constructor;a!=this&&(a.b={},a.a&&(a.a={}),Ea(a,this));return a};function u(a,b){return null!=a.b[b]}
function Fa(a,b){var c=a.b[b];if(null==c)return null;if(a.g){if(!(b in a.a)){var d=a.g,e=a.f[b];if(null!=c)if(e.f){for(var f=[],g=0;g<c.length;g++)f[g]=d.a(e,c[g]);c=f}else c=d.a(e,c);return a.a[b]=c}return a.a[b]}return c}function v(a,b,c){var d=Fa(a,b);return a.f[b].f?d[c||0]:d}function y(a,b){if(u(a,b))a=v(a,b,void 0);else a:{a=a.f[b];if(void 0===a.g)if(b=a.l,b===Boolean)a.g=!1;else if(b===Number)a.g=0;else if(b===String)a.g=a.i?"0":"";else{a=new b;break a}a=a.g}return a}
function x(a,b){return Fa(a,b)||[]}function z(a,b){return a.f[b].f?u(a,b)?a.b[b].length:0:u(a,b)?1:0}function w(a,b,c){a.b[b]=c;a.a&&(a.a[b]=c)}function Da(a,b,c){a.b[b]||(a.b[b]=[]);a.b[b].push(c);a.a&&delete a.a[b]}function Ga(a,b){delete a.b[b];a.a&&delete a.a[b]}function Ha(a,b){var c=[],d;for(d in b)0!=d&&c.push(new ra(d,b[d]));return new za(a,c)};function A(){}A.prototype.b=function(a,b){return 11==a.b||10==a.b?this.g(b):"number"!=typeof b||isFinite(b)?b:b.toString()};A.prototype.f=function(a,b){a=new a.b;this.i(a,b);return a};
A.prototype.a=function(a,b){if(11==a.b||10==a.b)return b instanceof t?b:this.f(a.l.prototype.h(),b);if(14==a.b)return h(b)&&Ia.test(b)&&(a=Number(b),0<a)?a:b;if(!a.i)return b;a=a.l;if(a===String){if("number"==typeof b)return String(b)}else if(a===Number&&h(b)&&("Infinity"===b||"-Infinity"===b||"NaN"===b||Ia.test(b)))return Number(b);return b};var Ia=/^-?[0-9]+$/;function B(a,b){this.j=a;this.l=b}l(B,A);B.prototype.g=function(a){for(var b=Aa(a.h()),c={},d=0;d<b.length;d++){var e=b[d],f=e.a;switch(this.j){case 1:f=e.j;break;case 2:f=ha(e.j.replace(/_/g,"-"))}if(a.has(e))if(e.f){var g=[];c[f]=g;for(f=0;f<z(a,e.a);f++)g.push(this.b(e,a.get(e,f)))}else c[f]=this.b(e,a.get(e))}Ca(a,function(a,b){c[a]=b});return c};B.prototype.b=function(a,b){return this.l&&8==a.b&&"boolean"==typeof b?b?1:0:B.ea.b.call(this,a,b)};
B.prototype.a=function(a,b){return 8==a.b&&"number"==typeof b?!!b:B.ea.a.call(this,a,b)};B.prototype.i=function(a,b){var c=a.h(),d;for(d in b){var e=b[d],f=!/[^0-9]/.test(d);if(f)var g=c.a[parseInt(d,10)]||null;else 2==this.j&&(d=String(d).replace(/([A-Z])/g,"-$1").toLowerCase().replace(/\-/g,"_")),g=Ba(c,d);if(g)if(g.f)for(f=0;f<e.length;f++)a.add(g,this.a(g,e[f]));else a.set(g,this.a(g,e));else f?(g=a,f=Number(d),g.b[f]=e,g.a&&delete g.a[f]):da("Failed to find field: "+d)}};function C(a,b){null!=a&&this.a.apply(this,arguments)}C.prototype.b="";C.prototype.set=function(a){this.b=""+a};C.prototype.a=function(a,b,c){this.b+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.b+=arguments[d];return this};function D(a){a.b=""}C.prototype.toString=function(){return this.b};/*
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function h(a){return"string"==typeof a}function l(a,b){function c(){}c.prototype=b.prototype;a.ea=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.pa=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function n(a){if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}l(n,Error);n.prototype.name="CustomError";function ca(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};function da(a,b){b.unshift(a);n.call(this,ca.apply(null,b));b.shift()}l(da,n);da.prototype.name="AssertionError";function ea(a,b){throw new da("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var p=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(h(a))return h(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function q(a,b){return 0<=p(a,b)}function fa(a,b){a.sort(b||ga)}function ga(a,b){return a>b?1:a<b?-1:0};function ha(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function ia(a,b){a:{for(c in a)if(b.call(void 0,a[c],c,a))break a;var c=void 0}return c&&a[c]};function r(a){var b=document;return h(a)?b.getElementById(a):a};function ja(a){var b=[];ka(new ma,a,b);return b.join("")}function ma(){}
function ka(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if("array"==ba(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),ka(a,d[f],c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");e="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(f=b[d],"function"!=typeof f&&(c.push(e),na(d,c),c.push(":"),ka(a,f,c),e=","));c.push("}");return}}switch(typeof b){case "string":na(b,c);break;case "number":c.push(isFinite(b)&&
!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}}var oa={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},pa=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
function na(a,b){b.push('"',a.replace(pa,function(a){var b=oa[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),oa[a]=b);return b}),'"')};function qa(a,b){this.a=a;this.l=b.name;this.f=!!b.u;this.b=b.c;this.j=b.type;this.i=!1;switch(this.b){case ra:case sa:case ta:case ua:case va:case wa:case xa:this.i=!0}this.g=b.defaultValue}var xa=1,wa=2,ra=3,sa=4,ta=6,ua=16,va=18;function ya(a,b){this.b=a;this.a={};for(var c=0;c<b.length;c++){var d=b[c];this.a[d.a]=d}}function za(a){a=ha(a.a);fa(a,function(a,c){return a.a-c.a});return a}function Aa(a,b){return ia(a.a,function(a){return a.l==b})||null};function t(){this.b={};this.f=this.h().a;this.a=this.g=null}function Ba(a,b){for(var c in a.b){var d=Number(c);a.f[d]||b.call(a,d,a.b[c])}}t.prototype.has=function(a){return u(this,a.a)};t.prototype.get=function(a,b){return v(this,a.a,b)};t.prototype.set=function(a,b){w(this,a.a,b)};
function Ca(a,b){for(var c=za(a.h()),d=0;d<c.length;d++){var e=c[d],f=e.a;if(u(b,f)){a.a&&delete a.a[e.a];var g=11==e.b||10==e.b;if(e.f)for(var e=x(b,f),k=0;k<e.length;k++)Da(a,f,g?e[k].clone():e[k]);else e=Ea(b,f),g?(g=Ea(a,f))?Ca(g,e):w(a,f,e.clone()):w(a,f,e)}}}t.prototype.clone=function(){var a=new this.constructor;a!=this&&(a.b={},a.a&&(a.a={}),Ca(a,this));return a};function u(a,b){return null!=a.b[b]}
function Ea(a,b){var c=a.b[b];if(null==c)return null;if(a.g){if(!(b in a.a)){var d=a.g,e=a.f[b];if(null!=c)if(e.f){for(var f=[],g=0;g<c.length;g++)f[g]=d.a(e,c[g]);c=f}else c=d.a(e,c);return a.a[b]=c}return a.a[b]}return c}function v(a,b,c){var d=Ea(a,b);return a.f[b].f?d[c||0]:d}function y(a,b){if(u(a,b))var c=v(a,b,void 0);else a:{c=a.f[b];if(void 0===c.g){var d=c.j;if(d===Boolean)c.g=!1;else if(d===Number)c.g=0;else if(d===String)c.g=c.i?"0":"";else{c=new d;break a}}c=c.g}return c}
function x(a,b){return Ea(a,b)||[]}function z(a,b){return a.f[b].f?u(a,b)?a.b[b].length:0:u(a,b)?1:0}function w(a,b,c){a.b[b]=c;a.a&&(a.a[b]=c)}function Da(a,b,c){a.b[b]||(a.b[b]=[]);a.b[b].push(c);a.a&&delete a.a[b]}function Fa(a,b){delete a.b[b];a.a&&delete a.a[b]}function Ga(a,b){var c=[],d;for(d in b)0!=d&&c.push(new qa(d,b[d]));return new ya(a,c)};function A(){}A.prototype.b=function(a,b){return 11==a.b||10==a.b?this.g(b):"number"!=typeof b||isFinite(b)?b:b.toString()};A.prototype.f=function(a,b){var c=new a.b;this.i(c,b);return c};
A.prototype.a=function(a,b){if(11==a.b||10==a.b)return b instanceof t?b:this.f(a.j.prototype.h(),b);if(14==a.b){if(h(b)&&Ha.test(b)){var c=Number(b);if(0<c)return c}return b}if(!a.i)return b;c=a.j;if(c===String){if("number"==typeof b)return String(b)}else if(c===Number&&h(b)&&("Infinity"===b||"-Infinity"===b||"NaN"===b||Ha.test(b)))return Number(b);return b};var Ha=/^-?[0-9]+$/;function B(a,b){this.j=a;this.l=b}l(B,A);B.prototype.g=function(a){for(var b=za(a.h()),c={},d=0;d<b.length;d++){var e=b[d],f=1==this.j?e.l:e.a;if(a.has(e))if(e.f){var g=[];c[f]=g;for(f=0;f<z(a,e.a);f++)g.push(this.b(e,a.get(e,f)))}else c[f]=this.b(e,a.get(e))}Ba(a,function(a,b){c[a]=b});return c};B.prototype.b=function(a,b){return this.l&&8==a.b&&"boolean"==typeof b?b?1:0:B.ea.b.call(this,a,b)};B.prototype.a=function(a,b){return 8==a.b&&"number"==typeof b?!!b:B.ea.a.call(this,a,b)};
B.prototype.i=function(a,b){var c=a.h(),d;for(d in b){var e,f=b[d],g=!/[^0-9]/.test(d);if(e=g?c.a[parseInt(d,10)]||null:Aa(c,d))if(e.f)for(g=0;g<f.length;g++){var k=this.a(e,f[g]);Da(a,e.a,k)}else a.set(e,this.a(e,f));else g?(e=a,g=Number(d),e.b[g]=f,e.a&&delete e.a[g]):ea("Failed to find field: "+d)}};function C(a,b){null!=a&&this.a.apply(this,arguments)}C.prototype.b="";C.prototype.set=function(a){this.b=""+a};C.prototype.a=function(a,b,c){this.b+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.b+=arguments[d];return this};function D(a){a.b=""}C.prototype.toString=function(){return this.b};/*
Protocol Buffer 2 Copyright 2008 Google Inc.
All other code copyright its respective owners.
@ -26,13 +26,13 @@ B.prototype.a=function(a,b){return 8==a.b&&"number"==typeof b?!!b:B.ea.a.call(th
See the License for the specific language governing permissions and
limitations under the License.
*/
function F(){t.call(this)}l(F,t);var Ja=null;function G(){t.call(this)}l(G,t);var Ka=null;function H(){t.call(this)}l(H,t);var La=null;
F.prototype.h=function(){var a=Ja;a||(Ja=a=Ha(F,{0:{name:"NumberFormat",ba:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,c:9,type:String},2:{name:"format",required:!0,c:9,type:String},3:{name:"leading_digits_pattern",u:!0,c:9,type:String},4:{name:"national_prefix_formatting_rule",c:9,type:String},6:{name:"national_prefix_optional_when_formatting",c:8,defaultValue:!1,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",c:9,type:String}}));return a};F.h=F.prototype.h;
G.prototype.h=function(){var a=Ka;a||(Ka=a=Ha(G,{0:{name:"PhoneNumberDesc",ba:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",c:9,type:String},9:{name:"possible_length",u:!0,c:5,type:Number},10:{name:"possible_length_local_only",u:!0,c:5,type:Number},6:{name:"example_number",c:9,type:String}}));return a};G.h=G.prototype.h;
H.prototype.h=function(){var a=La;a||(La=a=Ha(H,{0:{name:"PhoneMetadata",ba:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",c:11,type:G},2:{name:"fixed_line",c:11,type:G},3:{name:"mobile",c:11,type:G},4:{name:"toll_free",c:11,type:G},5:{name:"premium_rate",c:11,type:G},6:{name:"shared_cost",c:11,type:G},7:{name:"personal_number",c:11,type:G},8:{name:"voip",c:11,type:G},21:{name:"pager",c:11,type:G},25:{name:"uan",c:11,type:G},27:{name:"emergency",c:11,type:G},28:{name:"voicemail",c:11,type:G},
function F(){t.call(this)}l(F,t);var Ia=null;function G(){t.call(this)}l(G,t);var Ja=null;function H(){t.call(this)}l(H,t);var Ka=null;
F.prototype.h=function(){var a=Ia;a||(Ia=a=Ga(F,{0:{name:"NumberFormat",ba:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,c:9,type:String},2:{name:"format",required:!0,c:9,type:String},3:{name:"leading_digits_pattern",u:!0,c:9,type:String},4:{name:"national_prefix_formatting_rule",c:9,type:String},6:{name:"national_prefix_optional_when_formatting",c:8,defaultValue:!1,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",c:9,type:String}}));return a};F.h=F.prototype.h;
G.prototype.h=function(){var a=Ja;a||(Ja=a=Ga(G,{0:{name:"PhoneNumberDesc",ba:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",c:9,type:String},9:{name:"possible_length",u:!0,c:5,type:Number},10:{name:"possible_length_local_only",u:!0,c:5,type:Number},6:{name:"example_number",c:9,type:String}}));return a};G.h=G.prototype.h;
H.prototype.h=function(){var a=Ka;a||(Ka=a=Ga(H,{0:{name:"PhoneMetadata",ba:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",c:11,type:G},2:{name:"fixed_line",c:11,type:G},3:{name:"mobile",c:11,type:G},4:{name:"toll_free",c:11,type:G},5:{name:"premium_rate",c:11,type:G},6:{name:"shared_cost",c:11,type:G},7:{name:"personal_number",c:11,type:G},8:{name:"voip",c:11,type:G},21:{name:"pager",c:11,type:G},25:{name:"uan",c:11,type:G},27:{name:"emergency",c:11,type:G},28:{name:"voicemail",c:11,type:G},
29:{name:"short_code",c:11,type:G},30:{name:"standard_rate",c:11,type:G},31:{name:"carrier_specific",c:11,type:G},33:{name:"sms_services",c:11,type:G},24:{name:"no_international_dialling",c:11,type:G},9:{name:"id",required:!0,c:9,type:String},10:{name:"country_code",c:5,type:Number},11:{name:"international_prefix",c:9,type:String},17:{name:"preferred_international_prefix",c:9,type:String},12:{name:"national_prefix",c:9,type:String},13:{name:"preferred_extn_prefix",c:9,type:String},15:{name:"national_prefix_for_parsing",
c:9,type:String},16:{name:"national_prefix_transform_rule",c:9,type:String},18:{name:"same_mobile_and_fixed_line_pattern",c:8,defaultValue:!1,type:Boolean},19:{name:"number_format",u:!0,c:11,type:F},20:{name:"intl_number_format",u:!0,c:11,type:F},22:{name:"main_country_for_code",c:8,defaultValue:!1,type:Boolean},23:{name:"leading_digits",c:9,type:String},26:{name:"leading_zero_possible",c:8,defaultValue:!1,type:Boolean}}));return a};H.h=H.prototype.h;function Ma(){}l(Ma,A);Ma.prototype.f=function(a,b){a=new a.b;a.g=this;a.b=b;a.a={};return a};Ma.prototype.i=function(){throw Error("Unimplemented");};function I(){}l(I,Ma);I.prototype.g=function(a){for(var b=Aa(a.h()),c=[],d=0;d<b.length;d++){var e=b[d];if(a.has(e)){var f=e.a;if(e.f){c[f]=[];for(var g=0;g<z(a,e.a);g++)c[f][g]=this.b(e,a.get(e,g))}else c[f]=this.b(e,a.get(e))}}Ca(a,function(a,b){c[a]=b});return c};I.prototype.b=function(a,b){return 8==a.b?b?1:0:A.prototype.b.apply(this,arguments)};I.prototype.a=function(a,b){return 8==a.b?!!b:A.prototype.a.apply(this,arguments)};I.prototype.f=function(a,b){return I.ea.f.call(this,a,b)};function J(){t.call(this)}l(J,t);var Na=null,Oa={oa:0,na:1,ma:5,la:10,ka:20};
J.prototype.h=function(){var a=Na;a||(Na=a=Ha(J,{0:{name:"PhoneNumber",ba:"i18n.phonenumbers.PhoneNumber"},1:{name:"country_code",required:!0,c:5,type:Number},2:{name:"national_number",required:!0,c:4,type:Number},3:{name:"extension",c:9,type:String},4:{name:"italian_leading_zero",c:8,type:Boolean},8:{name:"number_of_leading_zeros",c:5,defaultValue:1,type:Number},5:{name:"raw_input",c:9,type:String},6:{name:"country_code_source",c:14,defaultValue:0,type:Oa},7:{name:"preferred_domestic_carrier_code",
c:9,type:String},16:{name:"national_prefix_transform_rule",c:9,type:String},18:{name:"same_mobile_and_fixed_line_pattern",c:8,defaultValue:!1,type:Boolean},19:{name:"number_format",u:!0,c:11,type:F},20:{name:"intl_number_format",u:!0,c:11,type:F},22:{name:"main_country_for_code",c:8,defaultValue:!1,type:Boolean},23:{name:"leading_digits",c:9,type:String},26:{name:"leading_zero_possible",c:8,defaultValue:!1,type:Boolean}}));return a};H.h=H.prototype.h;function La(){}l(La,A);La.prototype.f=function(a,b){var c=new a.b;c.g=this;c.b=b;c.a={};return c};La.prototype.i=function(){throw Error("Unimplemented");};function I(){}l(I,La);I.prototype.g=function(a){for(var b=za(a.h()),c=[],d=0;d<b.length;d++){var e=b[d];if(a.has(e)){var f=e.a;if(e.f){c[f]=[];for(var g=0;g<z(a,e.a);g++)c[f][g]=this.b(e,a.get(e,g))}else c[f]=this.b(e,a.get(e))}}Ba(a,function(a,b){c[a]=b});return c};I.prototype.b=function(a,b){return 8==a.b?b?1:0:A.prototype.b.apply(this,arguments)};I.prototype.a=function(a,b){return 8==a.b?!!b:A.prototype.a.apply(this,arguments)};I.prototype.f=function(a,b){return I.ea.f.call(this,a,b)};function J(){t.call(this)}l(J,t);var Ma=null,Na={oa:0,na:1,ma:5,la:10,ka:20};
J.prototype.h=function(){var a=Ma;a||(Ma=a=Ga(J,{0:{name:"PhoneNumber",ba:"i18n.phonenumbers.PhoneNumber"},1:{name:"country_code",required:!0,c:5,type:Number},2:{name:"national_number",required:!0,c:4,type:Number},3:{name:"extension",c:9,type:String},4:{name:"italian_leading_zero",c:8,type:Boolean},8:{name:"number_of_leading_zeros",c:5,defaultValue:1,type:Number},5:{name:"raw_input",c:9,type:String},6:{name:"country_code_source",c:14,defaultValue:0,type:Na},7:{name:"preferred_domestic_carrier_code",
c:9,type:String}}));return a};J.ctor=J;J.ctor.h=J.prototype.h;/*
Copyright (C) 2010 The Libphonenumber Authors
@ -53,7 +53,7 @@ var K={1:"US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC V
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"]},Pa={AC:[,[,,"(?:[01589]\\d|[46])\\d{4}",
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"]},Oa={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]],[,,"[01589]\\d{5}",,,,"542011",,,[6]],,,[,,,,,,,,,[-1]]],AD:[,[,,"(?:1|6\\d)\\d{7}|[136-9]\\d{5}",,,,,,,[6,8,9]],[,,"[78]\\d{5}",,,,"712345",,,[6]],[,,"690\\d{6}|[36]\\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",["[136-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{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[,"(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]]],,[,,,,,,,,,[-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}",
@ -436,42 +436,41 @@ PH:[,[,,"(?:1800\\d{2,4}|2|[89]\\d{4})\\d{5}|[3-8]\\d{8}|[28]\\d{7}",,,,,,,[6,8,
See the License for the specific language governing permissions and
limitations under the License.
*/
function Qa(){this.a={}}aa(Qa);
var L={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"},Ra={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",
7:"7",8:"8",9:"9","+":"+","*":"*","#":"#"},Sa={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"},Ta=/[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/,Ua=/[+\uff0b]+/,M=/^[+\uff0b]+/,Va=/([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])/,Wa=/[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]/,Xa=/[\\\/] *x/,Ya=/[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$/,Za=/(?:.*?[A-Za-z]){3}.*/,$a=/(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\.\uff0e]?[ \u00a0\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$/i,
ab=/^[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]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\.\uff0e]?[ \u00a0\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$/i,
bb=/(\$\d)/,cb=/\$NP/,db=/\$FG/,eb=/\$CC/,fb=/^\(?\$1\)?$/;function gb(a){var b=a.search(Wa);0<=b?(a=a.substring(b),a=a.replace(Ya,""),b=a.search(Xa),0<=b&&(a=a.substring(0,b))):a="";return a}function hb(a){return 2>a.length?!1:N(ab,a)}function ib(a){return N(Za,a)?O(a,Sa):O(a,L)}function jb(a){var b=ib(a.toString());D(a);a.a(b)}function kb(a){return null!=a&&(1!=z(a,9)||-1!=x(a,9)[0])}
function O(a,b){for(var c=new C,d,e=a.length,f=0;f<e;++f)d=a.charAt(f),d=b[d.toUpperCase()],null!=d&&c.a(d);return c.toString()}function lb(a){return 0==a.length||fb.test(a)}function mb(a){return null!=a&&isNaN(a)&&a.toUpperCase()in Pa}function P(a,b,c){if(0==v(b,2)&&u(b,5)){var d=y(b,5);if(0<d.length)return d}d=y(b,1);var e=Q(b);if(0==c)return S(d,0,e,"");if(!(d in K))return e;a=T(a,d,U(d));b=nb(b,a,c);e=ob(e,a,c);return S(d,c,e,b)}
function pb(a,b,c){var d=y(b,1),e=Q(b);if(!(d in K))return e;a=T(a,d,U(d));b=nb(b,a,2);c=ob(e,a,2,c);return S(d,2,c,b)}function T(a,b,c){return"001"==c?V(a,""+b):V(a,c)}
function qb(a,b,c){if(!mb(c))return P(a,b,1);var d=y(b,1),e=Q(b);if(!(d in K))return e;if(1==d){if(null!=c&&q(K[1],c.toUpperCase()))return d+" "+P(a,b,2)}else if(d==rb(a,c))return P(a,b,2);var f=V(a,c),g=y(f,11);c="";N(Ta,g)?c=g:u(f,17)&&(c=y(f,17));a=T(a,d,U(d));e=ob(e,a,1);b=nb(b,a,1);return 0<c.length?c+" "+d+" "+e+b:S(d,1,e,b)}
function sb(a,b,c){var d;if(d=u(b,5)){d=y(b,1);d=T(a,d,U(d));if(null==d)d=!1;else{var e=Q(b);d=null!=vb(x(d,19),e)}d=!d}if(d)return y(b,5);if(!u(b,6))return P(a,b,2);switch(v(b,6)){case 1:a=P(a,b,1);break;case 5:a=qb(a,b,c);break;case 10:a=P(a,b,1).substring(1);break;default:d=U(y(b,1));c=V(a,d);if(null==c)var f=null;else c=y(c,12),f=0==c.length?null:c=c.replace("~","");c=P(a,b,2);if(null==f||0==f.length)a=c;else{a:{e=y(b,5);e=O(e,L);if(0==e.lastIndexOf(f,0))try{var g=wb(a,xb(a,e.substring(f.length),
d,!1));break a}catch(k){}g=!1}g?a=c:(g=V(a,d),d=Q(b),g=vb(x(g,19),d),null==g?a=c:(d=y(g,4),e=d.indexOf("$1"),0>=e?a=c:(d=d.substring(0,e),d=O(d,L),0==d.length?a=c:(g=g.clone(),Ga(g,4),d=[g],g=y(b,1),c=Q(b),g in K?(a=T(a,g,U(g)),e=vb(d,c),null!=e&&(d=e.clone(),e=y(e,4),0<e.length&&(f=y(a,12),0<f.length?(e=e.replace(cb,f).replace(db,"$1"),w(d,4,e)):Ga(d,4)),c=yb(c,d,2)),a=nb(b,a,2),a=S(g,2,c,a)):a=c))))}}b=y(b,5);null!=a&&0<b.length&&(g=O(a,Ra),c=O(b,Ra),g!=c&&(a=b));return a}
function Q(a){if(!u(a,2))return"";var b=""+v(a,2);return u(a,4)&&v(a,4)&&0<y(a,8)?Array(y(a,8)+1).join("0")+b:b}function S(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 ob(a,b,c,d){b=0==x(b,20).length||2==c?x(b,19):x(b,20);b=vb(b,a);return null==b?a:yb(a,b,c,d)}
function vb(a,b){for(var c,d=a.length,e=0;e<d;++e){c=a[e];var f=z(c,3);if(0==f||0==b.search(v(c,3,f-1)))if(f=new RegExp(v(c,1)),N(f,b))return c}return null}
function yb(a,b,c,d){var e=y(b,2),f=new RegExp(v(b,1)),g=y(b,5);2==c&&null!=d&&0<d.length&&0<g.length?(b=g.replace(eb,d),e=e.replace(bb,b),a=a.replace(f,e)):(b=y(b,4),a=2==c&&null!=b&&0<b.length?a.replace(f,e.replace(bb,b)):a.replace(f,e));3==c&&(a=a.replace(/^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\[\]/~\u2053\u223c\uff5e]+/,""),a=a.replace(/[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\[\]/~\u2053\u223c\uff5e]+/g,
"-"));return a}function nb(a,b,c){return u(a,3)&&0!=v(a,3).length?3==c?";ext="+v(a,3):u(b,13)?v(b,13)+y(a,3):" ext. "+y(a,3):""}function zb(a,b){switch(b){case 4:return v(a,5);case 3:return v(a,4);case 1:return v(a,3);case 0:case 2:return v(a,2);case 5:return v(a,6);case 6:return v(a,8);case 7:return v(a,7);case 8:return v(a,21);case 9:return v(a,25);case 10:return v(a,28);default:return v(a,1)}}
function Ab(a,b){return W(a,v(b,1))?W(a,v(b,5))?4:W(a,v(b,4))?3:W(a,v(b,6))?5:W(a,v(b,8))?6:W(a,v(b,7))?7:W(a,v(b,21))?8:W(a,v(b,25))?9:W(a,v(b,28))?10:W(a,v(b,2))?v(b,18)||W(a,v(b,3))?2:0:!v(b,18)&&W(a,v(b,3))?1:-1:-1}function V(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.a[b];if(null==c){c=Pa[b];if(null==c)return null;c=(new I).f(H.h(),c);a.a[b]=c}return c}function W(a,b){var c=a.length;return 0<z(b,9)&&-1==p(x(b,9),c)?!1:N(y(b,2),a)}function wb(a,b){var c=Bb(a,b);return Cb(a,b,c)}
function Cb(a,b,c){var d=y(b,1),e=T(a,d,c);if(null==e||"001"!=c&&d!=rb(a,c))return!1;a=Q(b);return-1!=Ab(a,e)}function Bb(a,b){if(null==b)return null;var c=y(b,1);c=K[c];if(null==c)a=null;else if(1==c.length)a=c[0];else a:{b=Q(b);for(var d,e=c.length,f=0;f<e;f++){d=c[f];var g=V(a,d);if(u(g,23)){if(0==b.search(v(g,23))){a=d;break a}}else if(-1!=Ab(b,g)){a=d;break a}}a=null}return a}function U(a){a=K[a];return null==a?"ZZ":a[0]}
function rb(a,b){a=V(a,b);if(null==a)throw Error("Invalid region code: "+b);return y(a,10)}function Db(a,b,c,d){var e=zb(c,d),f=0==z(e,9)?x(v(c,1),9):x(e,9);e=x(e,10);if(2==d)if(kb(zb(c,0)))a=zb(c,1),kb(a)&&(f=f.concat(0==z(a,9)?x(v(c,1),9):x(a,9)),ea(f),0==e.length?e=x(a,10):(e=e.concat(x(a,10)),ea(e)));else return Db(a,b,c,1);if(-1==f[0])return 5;b=b.length;if(-1<p(e,b))return 4;c=f[0];return c==b?0:c>b?2:f[f.length-1]<b?3:-1<p(f,b,1)?0:5}
function Eb(a,b){var c=Q(b);b=y(b,1);if(!(b in K))return 1;b=T(a,b,U(b));return Db(a,c,b,-1)}function Fb(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 K)return b.a(a.substring(e)),c;return 0}
function Gb(a,b,c,d,e,f){if(0==b.length)return 0;b=new C(b);var g;null!=c&&(g=v(c,11));null==g&&(g="NonMatch");var k=b.toString();if(0==k.length)g=20;else if(M.test(k))k=k.replace(M,""),D(b),b.a(ib(k)),g=1;else{k=new RegExp(g);jb(b);g=b.toString();if(0==g.search(k)){k=g.match(k)[0].length;var m=g.substring(k).match(Va);m&&null!=m[1]&&0<m[1].length&&"0"==O(m[1],L)?g=!1:(D(b),b.a(g.substring(k)),g=!0)}else g=!1;g=g?5:20}e&&w(f,6,g);if(20!=g){if(2>=b.b.length)throw Error("Phone number too short after IDD");
a=Fb(b,d);if(0!=a)return w(f,1,a),a;throw Error("Invalid country calling code");}if(null!=c&&(g=y(c,10),k=""+g,m=b.toString(),0==m.lastIndexOf(k,0)&&(k=new C(m.substring(k.length)),m=v(c,1),m=new RegExp(y(m,2)),Hb(k,c,null),k=k.toString(),!N(m,b.toString())&&N(m,k)||3==Db(a,b.toString(),c,-1))))return d.a(k),e&&w(f,6,10),w(f,1,g),g;w(f,1,0);return 0}
function Hb(a,b,c){var d=a.toString(),e=d.length,f=v(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){f=new RegExp(y(v(b,1),2));var k=N(f,d),m=e.length-1;b=v(b,16);if(null==b||0==b.length||null==e[m]||0==e[m].length){if(!k||N(f,d.substring(e[0].length)))null!=c&&0<m&&null!=e[m]&&c.a(e[1]),a.set(d.substring(e[0].length))}else if(d=d.replace(g,b),!k||N(f,d))null!=c&&0<m&&c.a(e[1]),a.set(d)}}}
function xb(a,b,c,d){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 e=new C,f=b.indexOf(";phone-context=");if(0<=f){var g=f+15;if("+"==b.charAt(g)){var k=b.indexOf(";",g);0<k?e.a(b.substring(g,k)):e.a(b.substring(g))}g=b.indexOf("tel:");e.a(b.substring(0<=g?g+4:0,f))}else e.a(gb(b));f=e.toString();g=f.indexOf(";isub=");0<g&&(D(e),e.a(f.substring(0,g)));if(!hb(e.toString()))throw Error("The string supplied did not seem to be a phone number");
f=e.toString();if(!(mb(c)||null!=f&&0<f.length&&M.test(f)))throw Error("Invalid country calling code");f=new J;d&&w(f,5,b);a:{b=e.toString();g=b.search($a);if(0<=g&&hb(b.substring(0,g))){k=b.match($a);for(var m=k.length,E=1;E<m;++E)if(null!=k[E]&&0<k[E].length){D(e);e.a(b.substring(0,g));b=k[E];break a}}b=""}0<b.length&&w(f,3,b);g=V(a,c);b=new C;k=0;m=e.toString();try{k=Gb(a,m,g,b,d,f)}catch(R){if("Invalid country calling code"==R.message&&M.test(m)){if(m=m.replace(M,""),k=Gb(a,m,g,b,d,f),0==k)throw R;
}else throw R;}0!=k?(e=U(k),e!=c&&(g=T(a,k,e))):(jb(e),b.a(e.toString()),null!=c?(k=y(g,10),w(f,1,k)):d&&Ga(f,6));if(2>b.b.length)throw Error("The string supplied is too short to be a phone number");null!=g&&(c=new C,e=new C(b.toString()),Hb(e,g,c),a=Db(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0<c.toString().length&&w(f,7,c.toString())));d=b.toString();a=d.length;if(2>a)throw Error("The string supplied is too short to be a phone number");if(17<a)throw Error("The string supplied is too long to be a phone number");
if(1<d.length&&"0"==d.charAt(0)){w(f,4,!0);for(a=1;a<d.length-1&&"0"==d.charAt(a);)a++;1!=a&&w(f,8,a)}w(f,2,parseInt(d,10));return f}function N(a,b){return(a="string"==typeof a?b.match("^(?:"+a+")$"):b.match(a))&&a[0].length==b.length?!0:!1};function Ib(a){this.fa=/\u2008/;this.ha="";this.m=new C;this.w="";this.j=new C;this.v=new C;this.l=!0;this.$=this.o=this.ja=!1;this.ga=Qa.ca();this.s=0;this.b=new C;this.aa=!1;this.i="";this.a=new C;this.f=[];this.ia=a;this.g=Jb(this,this.ia)}var Kb=new H;w(Kb,11,"NA");
var Lb=/\[([^\[\]])*\]/g,Mb=/\d(?=[^,}][^,}])/g,Nb=/^[-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]*)+$/,Ob=/[- ]/;function Jb(a,b){var c=a.ga;b=mb(b)?rb(c,b):0;a=V(a.ga,U(b));return null!=a?a:Kb}
function Pb(a){for(var b=a.f.length,c=0;c<b;++c){var d=a.f[c],e=y(d,1);if(a.w==e)return!1;var f=a;var g=d,k=y(g,1);if(-1!=k.indexOf("|"))f=!1;else{k=k.replace(Lb,"\\d");k=k.replace(Mb,"\\d");D(f.m);var m=f;g=y(g,2);var E="999999999999999".match(k)[0];E.length<m.a.b.length?m="":(m=E.replace(new RegExp(k,"g"),g),m=m.replace(/9/g,"\u2008"));0<m.length?(f.m.a(m),f=!0):f=!1}if(f)return a.w=e,a.aa=Ob.test(v(d,4)),a.s=0,!0}return a.l=!1}
function Qb(a,b){for(var c=[],d=b.length-3,e=a.f.length,f=0;f<e;++f){var g=a.f[f];0==z(g,3)?c.push(a.f[f]):(g=v(g,3,Math.min(d,z(g,3)-1)),0==b.search(g)&&c.push(a.f[f]))}a.f=c}function Rb(a,b){a.ha=Sb(a,b);return a.ha}
function Sb(a,b){a.j.a(b);var c=b;Va.test(c)||1==a.j.b.length&&Ua.test(c)?("+"==b?(c=b,a.v.a(b)):(c=L[b],a.v.a(c),a.a.a(c)),b=c):(a.l=!1,a.ja=!0);if(!a.l){if(!a.ja)if(Tb(a)){if(Ub(a))return Vb(a)}else if(0<a.i.length&&(b=a.a.toString(),D(a.a),a.a.a(a.i),a.a.a(b),b=a.b.toString(),c=b.lastIndexOf(a.i),D(a.b),a.b.a(b.substring(0,c))),a.i!=Wb(a))return a.b.a(" "),Vb(a);return a.j.toString()}switch(a.v.b.length){case 0:case 1:case 2:return a.j.toString();case 3:if(Tb(a))a.$=!0;else return a.i=Wb(a),Xb(a);
default:if(a.$)return Ub(a)&&(a.$=!1),a.b.toString()+a.a.toString();if(0<a.f.length){b=Yb(a,b);c=Zb(a);if(0<c.length)return c;Qb(a,a.a.toString());return Pb(a)?$b(a):a.l?ac(a,b):a.j.toString()}return Xb(a)}}function Vb(a){a.l=!0;a.$=!1;a.f=[];a.s=0;D(a.m);a.w="";return Xb(a)}function Zb(a){for(var b=a.a.toString(),c=a.f.length,d=0;d<c;++d){var e=a.f[d],f=y(e,1);if((new RegExp("^(?:"+f+")$")).test(b))return a.aa=Ob.test(v(e,4)),b=b.replace(new RegExp(f,"g"),v(e,2)),ac(a,b)}return""}
function ac(a,b){var c=a.b.b.length;return a.aa&&0<c&&" "!=a.b.toString().charAt(c-1)?a.b+" "+b:a.b+b}function Xb(a){var b=a.a.toString();if(3<=b.length){for(var c=a.o&&0==a.i.length&&0<z(a.g,20)?x(a.g,20):x(a.g,19),d=c.length,e=0;e<d;++e){var f=c[e];0<a.i.length&&lb(y(f,4))&&!v(f,6)&&!u(f,5)||(0!=a.i.length||a.o||lb(y(f,4))||v(f,6))&&Nb.test(y(f,2))&&a.f.push(f)}Qb(a,b);b=Zb(a);return 0<b.length?b:Pb(a)?$b(a):a.j.toString()}return ac(a,b)}
function $b(a){var b=a.a.toString(),c=b.length;if(0<c){for(var d="",e=0;e<c;e++)d=Yb(a,b.charAt(e));return a.l?ac(a,d):a.j.toString()}return a.b.toString()}
function Wb(a){var b=a.a.toString(),c=0;if(1!=v(a.g,10))var d=!1;else d=a.a.toString(),d="1"==d.charAt(0)&&"0"!=d.charAt(1)&&"1"!=d.charAt(1);d?(c=1,a.b.a("1").a(" "),a.o=!0):u(a.g,15)&&(d=new RegExp("^(?:"+v(a.g,15)+")"),d=b.match(d),null!=d&&null!=d[0]&&0<d[0].length&&(a.o=!0,c=d[0].length,a.b.a(b.substring(0,c))));D(a.a);a.a.a(b.substring(c));return b.substring(0,c)}
function Tb(a){var b=a.v.toString(),c=new RegExp("^(?:\\+|"+v(a.g,11)+")");c=b.match(c);return null!=c&&null!=c[0]&&0<c[0].length?(a.o=!0,c=c[0].length,D(a.a),a.a.a(b.substring(c)),D(a.b),a.b.a(b.substring(0,c)),"+"!=b.charAt(0)&&a.b.a(" "),!0):!1}function Ub(a){if(0==a.a.b.length)return!1;var b=new C,c=Fb(a.a,b);if(0==c)return!1;D(a.a);a.a.a(b.toString());b=U(c);"001"==b?a.g=V(a.ga,""+c):b!=a.ia&&(a.g=Jb(a,b));a.b.a(""+c).a(" ");a.i="";return!0}
function Yb(a,b){var c=a.m.toString();if(0<=c.substring(a.s).search(a.fa)){var d=c.search(a.fa);b=c.replace(a.fa,b);D(a.m);a.m.a(b);a.s=d;return b.substring(0,a.s+1)}1==a.f.length&&(a.l=!1);a.w="";return a.j.toString()};var bc={AC:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"AC",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"911",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AD:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[0268]",,,,"110"],[,,,,,,,,,[-1]],,,,"AD",,,,,,,,,,,,,,,,,,[,,"11[0268]",,,,"110"],,[,,"11[0268]",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AE:[,[,,"[149]\\d{2,3}",,,,,,,[3,4]],,,[,,"112|99[7-9]",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"AE",,,,,,,,,,,,,,,,,,[,,"112|99[7-9]",
function Pa(){this.a={}}aa(Pa);
var L={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"},Qa={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",
7:"7",8:"8",9:"9","+":"+","*":"*","#":"#"},Ra={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"},Sa=/[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/,Ta=RegExp("[+\uff0b]+"),M=RegExp("^[+\uff0b]+"),Ua=RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])"),Va=RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]"),Wa=/[\\\/] *x/,Xa=RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$"),Ya=/(?:.*?[A-Za-z]){3}.*/,Za=RegExp("(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$",
"i"),$a=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]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$",
"i"),ab=/(\$\d)/,bb=/\$NP/,cb=/\$FG/,db=/\$CC/,eb=/^\(?\$1\)?$/;function fb(a){var b=a.search(Va);0<=b?(a=a.substring(b),a=a.replace(Xa,""),b=a.search(Wa),0<=b&&(a=a.substring(0,b))):a="";return a}function gb(a){return 2>a.length?!1:N($a,a)}function hb(a){return N(Ya,a)?O(a,Ra):O(a,L)}function ib(a){var b=hb(a.toString());D(a);a.a(b)}function jb(a){return!!a&&(1!=z(a,9)||-1!=x(a,9)[0])}
function O(a,b){for(var c=new C,d,e=a.length,f=0;f<e;++f)d=a.charAt(f),d=b[d.toUpperCase()],null!=d&&c.a(d);return c.toString()}function kb(a){return!a.length||eb.test(a)}function lb(a){return null!=a&&isNaN(a)&&a.toUpperCase()in Oa}function P(a,b,c){if(0==v(b,2)&&u(b,5)){var d=y(b,5);if(0<d.length)return d}var d=y(b,1),e=Q(b);if(0==c)return S(d,0,e,"");if(!(d in K))return e;a=T(a,d,U(d));b=mb(b,a,c);e=nb(e,a,c);return S(d,c,e,b)}
function ob(a,b,c){var d=y(b,1),e=Q(b);if(!(d in K))return e;a=T(a,d,U(d));b=mb(b,a,2);c=nb(e,a,2,c);return S(d,2,c,b)}function T(a,b,c){return"001"==c?V(a,""+b):V(a,c)}
function pb(a,b,c){if(!lb(c))return P(a,b,1);var d=y(b,1),e=Q(b);if(!(d in K))return e;if(1==d){if(null!=c&&q(K[1],c.toUpperCase()))return d+" "+P(a,b,2)}else if(d==qb(a,c))return P(a,b,2);var f=V(a,c),g=y(f,11);c="";N(Sa,g)?c=g:u(f,17)&&(c=y(f,17));a=T(a,d,U(d));e=nb(e,a,1);b=mb(b,a,1);return 0<c.length?c+" "+d+" "+e+b:S(d,1,e,b)}
function rb(a,b,c){var d;if(d=u(b,5)){d=y(b,1);if(d=T(a,d,U(d))){var e=Q(b);d=!!ub(x(d,19),e)}else d=!1;d=!d}if(d)return y(b,5);if(!u(b,6))return P(a,b,2);switch(v(b,6)){case 1:a=P(a,b,1);break;case 5:a=pb(a,b,c);break;case 10:a=P(a,b,1).substring(1);break;default:d=U(y(b,1));if(c=V(a,d)){c=y(c,12);var f=c.length?c=c.replace("~",""):null}else f=null;c=P(a,b,2);if(null!=f&&f.length){a:{e=y(b,5);e=O(e,L);if(!e.lastIndexOf(f,0))try{var g=vb(a,wb(a,e.substring(f.length),d,!1));break a}catch(k){}g=!1}if(g)a=
c;else if(g=V(a,d),d=Q(b),g=ub(x(g,19),d))if(d=y(g,4),e=d.indexOf("$1"),0>=e)a=c;else if(d=d.substring(0,e),d=O(d,L),d.length)if(g=g.clone(),Fa(g,4),d=[g],g=y(b,1),c=Q(b),g in K){a=T(a,g,U(g));if(e=ub(d,c))d=e.clone(),e=y(e,4),0<e.length&&(f=y(a,12),0<f.length?(e=e.replace(bb,f).replace(cb,"$1"),w(d,4,e)):Fa(d,4)),c=xb(c,d,2);a=mb(b,a,2);a=S(g,2,c,a)}else a=c;else a=c;else a=c}else a=c}b=y(b,5);null!=a&&0<b.length&&(g=O(a,Qa),c=O(b,Qa),g!=c&&(a=b));return a}
function Q(a){if(!u(a,2))return"";var b=""+v(a,2);return u(a,4)&&v(a,4)&&0<y(a,8)?Array(y(a,8)+1).join("0")+b:b}function S(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 nb(a,b,c,d){b=x(b,20).length&&2!=c?x(b,20):x(b,19);return(b=ub(b,a))?xb(a,b,c,d):a}function ub(a,b){for(var c,d=a.length,e=0;e<d;++e){c=a[e];var f=z(c,3);if(!f||!b.search(v(c,3,f-1)))if(f=new RegExp(v(c,1)),N(f,b))return c}return null}
function xb(a,b,c,d){var e=y(b,2),f=new RegExp(v(b,1)),g=y(b,5);2==c&&null!=d&&0<d.length&&0<g.length?(b=g.replace(db,d),e=e.replace(ab,b),a=a.replace(f,e)):(b=y(b,4),a=2==c&&null!=b&&0<b.length?a.replace(f,e.replace(ab,b)):a.replace(f,e));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"),"-"));return a}function mb(a,b,c){return u(a,3)&&v(a,3).length?3==c?";ext="+v(a,3):u(b,13)?v(b,13)+y(a,3):" ext. "+y(a,3):""}function yb(a,b){switch(b){case 4:return v(a,5);case 3:return v(a,4);case 1:return v(a,3);case 0:case 2:return v(a,2);case 5:return v(a,6);case 6:return v(a,8);case 7:return v(a,7);case 8:return v(a,21);case 9:return v(a,25);case 10:return v(a,28);default:return v(a,1)}}
function zb(a,b){return W(a,v(b,1))?W(a,v(b,5))?4:W(a,v(b,4))?3:W(a,v(b,6))?5:W(a,v(b,8))?6:W(a,v(b,7))?7:W(a,v(b,21))?8:W(a,v(b,25))?9:W(a,v(b,28))?10:W(a,v(b,2))?v(b,18)||W(a,v(b,3))?2:0:!v(b,18)&&W(a,v(b,3))?1:-1:-1}function V(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.a[b];if(!c){c=Oa[b];if(!c)return null;c=(new I).f(H.h(),c);a.a[b]=c}return c}function W(a,b){var c=a.length;return 0<z(b,9)&&-1==p(x(b,9),c)?!1:N(y(b,2),a)}function vb(a,b){var c=Ab(a,b);return Bb(a,b,c)}
function Bb(a,b,c){var d=y(b,1),e=T(a,d,c);if(!e||"001"!=c&&d!=qb(a,c))return!1;a=Q(b);return-1!=zb(a,e)}function Ab(a,b){if(!b)return null;var c=y(b,1);if(c=K[c])if(1==c.length)c=c[0];else a:{for(var d=Q(b),e,f=c.length,g=0;g<f;g++){e=c[g];var k=V(a,e);if(u(k,23)){if(!d.search(v(k,23))){c=e;break a}}else if(-1!=zb(d,k)){c=e;break a}}c=null}else c=null;return c}function U(a){return(a=K[a])?a[0]:"ZZ"}function qb(a,b){var c=V(a,b);if(!c)throw Error("Invalid region code: "+b);return y(c,10)}
function Cb(a,b,c,d){var e=yb(c,d),f=z(e,9)?x(e,9):x(v(c,1),9),e=x(e,10);if(2==d)if(jb(yb(c,0)))a=yb(c,1),jb(a)&&(f=f.concat(z(a,9)?x(a,9):x(v(c,1),9)),fa(f),e.length?(e=e.concat(x(a,10)),fa(e)):e=x(a,10));else return Cb(a,b,c,1);if(-1==f[0])return 5;b=b.length;if(-1<p(e,b))return 4;c=f[0];return c==b?0:c>b?2:f[f.length-1]<b?3:-1<p(f,b,1)?0:5}function Db(a,b){var c=Q(b),d=y(b,1);if(!(d in K))return 1;d=T(a,d,U(d));return Cb(a,c,d,-1)}
function Eb(a,b){var c=a.toString();if(!c.length||"0"==c.charAt(0))return 0;for(var d,e=c.length,f=1;3>=f&&f<=e;++f)if(d=parseInt(c.substring(0,f),10),d in K)return b.a(c.substring(f)),d;return 0}
function Fb(a,b,c,d,e,f){if(!b.length)return 0;b=new C(b);var g;c&&(g=v(c,11));null==g&&(g="NonMatch");var k=b.toString();if(k.length)if(M.test(k))k=k.replace(M,""),D(b),b.a(hb(k)),g=1;else{k=new RegExp(g);ib(b);g=b.toString();if(g.search(k))g=!1;else{var k=g.match(k)[0].length,m=g.substring(k).match(Ua);m&&null!=m[1]&&0<m[1].length&&"0"==O(m[1],L)?g=!1:(D(b),b.a(g.substring(k)),g=!0)}g=g?5:20}else g=20;e&&w(f,6,g);if(20!=g){if(2>=b.b.length)throw Error("Phone number too short after IDD");if(a=Eb(b,
d))return w(f,1,a),a;throw Error("Invalid country calling code");}if(c&&(g=y(c,10),k=""+g,m=b.toString(),!m.lastIndexOf(k,0)&&(k=new C(m.substring(k.length)),m=v(c,1),m=new RegExp(y(m,2)),Gb(k,c,null),k=k.toString(),!N(m,b.toString())&&N(m,k)||3==Cb(a,b.toString(),c,-1))))return d.a(k),e&&w(f,6,10),w(f,1,g),g;w(f,1,0);return 0}
function Gb(a,b,c){var d=a.toString(),e=d.length,f=v(b,15);if(e&&null!=f&&f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){var f=new RegExp(y(v(b,1),2)),k=N(f,d),m=e.length-1;b=v(b,16);if(null!=b&&b.length&&null!=e[m]&&e[m].length){if(d=d.replace(g,b),!k||N(f,d))c&&0<m&&c.a(e[1]),a.set(d)}else if(!k||N(f,d.substring(e[0].length)))c&&0<m&&null!=e[m]&&c.a(e[1]),a.set(d.substring(e[0].length))}}}
function wb(a,b,c,d){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 e=new C,f=b.indexOf(";phone-context=");if(0<=f){var g=f+15;if("+"==b.charAt(g)){var k=b.indexOf(";",g);0<k?e.a(b.substring(g,k)):e.a(b.substring(g))}g=b.indexOf("tel:");e.a(b.substring(0<=g?g+4:0,f))}else e.a(fb(b));f=e.toString();g=f.indexOf(";isub=");0<g&&(D(e),e.a(f.substring(0,g)));if(!gb(e.toString()))throw Error("The string supplied did not seem to be a phone number");
f=e.toString();if(!(lb(c)||null!=f&&0<f.length&&M.test(f)))throw Error("Invalid country calling code");f=new J;d&&w(f,5,b);a:{b=e.toString();g=b.search(Za);if(0<=g&&gb(b.substring(0,g)))for(var k=b.match(Za),m=k.length,E=1;E<m;++E)if(null!=k[E]&&0<k[E].length){D(e);e.a(b.substring(0,g));b=k[E];break a}b=""}0<b.length&&w(f,3,b);g=V(a,c);b=new C;k=0;m=e.toString();try{k=Fb(a,m,g,b,d,f)}catch(R){if("Invalid country calling code"==R.message&&M.test(m)){if(m=m.replace(M,""),k=Fb(a,m,g,b,d,f),!k)throw R;
}else throw R;}k?(e=U(k),e!=c&&(g=T(a,k,e))):(ib(e),b.a(e.toString()),null!=c?(k=y(g,10),w(f,1,k)):d&&Fa(f,6));if(2>b.b.length)throw Error("The string supplied is too short to be a phone number");g&&(c=new C,e=new C(b.toString()),Gb(e,g,c),a=Cb(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0<c.toString().length&&w(f,7,c.toString())));d=b.toString();a=d.length;if(2>a)throw Error("The string supplied is too short to be a phone number");if(17<a)throw Error("The string supplied is too long to be a phone number");
if(1<d.length&&"0"==d.charAt(0)){w(f,4,!0);for(a=1;a<d.length-1&&"0"==d.charAt(a);)a++;1!=a&&w(f,8,a)}w(f,2,parseInt(d,10));return f}function N(a,b){var c="string"==typeof a?b.match("^(?:"+a+")$"):b.match(a);return c&&c[0].length==b.length?!0:!1};function Hb(a){this.fa=RegExp("\u2008");this.ha="";this.m=new C;this.w="";this.j=new C;this.v=new C;this.l=!0;this.$=this.o=this.ja=!1;this.ga=Pa.ca();this.s=0;this.b=new C;this.aa=!1;this.i="";this.a=new C;this.f=[];this.ia=a;this.g=Ib(this,this.ia)}var Jb=new H;w(Jb,11,"NA");
var Kb=RegExp("^[-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]*)+$"),Lb=/[- ]/;function Ib(a,b){var c=lb(b)?qb(a.ga,b):0;return(c=V(a.ga,U(c)))?c:Jb}
function Mb(a){for(var b=a.f.length,c=0;c<b;++c){var d=a.f[c],e=y(d,1);if(a.w==e)return!1;var f=a;var g=d,k=y(g,1);D(f.m);var m=f;var g=y(g,2),E="999999999999999".match(k)[0];E.length<m.a.b.length?m="":(m=E.replace(new RegExp(k,"g"),g),m=m.replace(RegExp("9","g"),"\u2008"));0<m.length?(f.m.a(m),f=!0):f=!1;if(f)return a.w=e,a.aa=Lb.test(v(d,4)),a.s=0,!0}return a.l=!1}
function Nb(a,b){for(var c=[],d=b.length-3,e=a.f.length,f=0;f<e;++f){var g=a.f[f];z(g,3)?(g=v(g,3,Math.min(d,z(g,3)-1)),b.search(g)||c.push(a.f[f])):c.push(a.f[f])}a.f=c}function Ob(a,b){a.ha=Pb(a,b);return a.ha}
function Pb(a,b){a.j.a(b);var c=b;if(Ua.test(c)||1==a.j.b.length&&Ta.test(c)){var c=b;if("+"==c){var d=c;a.v.a(c)}else d=L[c],a.v.a(d),a.a.a(d);b=d}else a.l=!1,a.ja=!0;if(!a.l){if(!a.ja)if(Qb(a)){if(Rb(a))return Sb(a)}else if(0<a.i.length&&(c=a.a.toString(),D(a.a),a.a.a(a.i),a.a.a(c),c=a.b.toString(),d=c.lastIndexOf(a.i),D(a.b),a.b.a(c.substring(0,d))),a.i!=Tb(a))return a.b.a(" "),Sb(a);return a.j.toString()}switch(a.v.b.length){case 0:case 1:case 2:return a.j.toString();case 3:if(Qb(a))a.$=!0;else return a.i=
Tb(a),Ub(a);default:if(a.$)return Rb(a)&&(a.$=!1),a.b.toString()+a.a.toString();if(0<a.f.length){c=Vb(a,b);d=Wb(a);if(0<d.length)return d;Nb(a,a.a.toString());return Mb(a)?Xb(a):a.l?Yb(a,c):a.j.toString()}return Ub(a)}}function Sb(a){a.l=!0;a.$=!1;a.f=[];a.s=0;D(a.m);a.w="";return Ub(a)}function Wb(a){for(var b=a.a.toString(),c=a.f.length,d=0;d<c;++d){var e=a.f[d],f=y(e,1);if((new RegExp("^(?:"+f+")$")).test(b))return a.aa=Lb.test(v(e,4)),b=b.replace(new RegExp(f,"g"),v(e,2)),Yb(a,b)}return""}
function Yb(a,b){var c=a.b.b.length;return a.aa&&0<c&&" "!=a.b.toString().charAt(c-1)?a.b+" "+b:a.b+b}function Ub(a){var b=a.a.toString();if(3<=b.length){for(var c=a.o&&!a.i.length&&0<z(a.g,20)?x(a.g,20):x(a.g,19),d=c.length,e=0;e<d;++e){var f=c[e];0<a.i.length&&kb(y(f,4))&&!v(f,6)&&!u(f,5)||(a.i.length||a.o||kb(y(f,4))||v(f,6))&&Kb.test(y(f,2))&&a.f.push(f)}Nb(a,b);b=Wb(a);return 0<b.length?b:Mb(a)?Xb(a):a.j.toString()}return Yb(a,b)}
function Xb(a){var b=a.a.toString(),c=b.length;if(0<c){for(var d="",e=0;e<c;e++)d=Vb(a,b.charAt(e));return a.l?Yb(a,d):a.j.toString()}return a.b.toString()}
function Tb(a){var b=a.a.toString(),c=0;if(1!=v(a.g,10))var d=!1;else d=a.a.toString(),d="1"==d.charAt(0)&&"0"!=d.charAt(1)&&"1"!=d.charAt(1);d?(c=1,a.b.a("1").a(" "),a.o=!0):u(a.g,15)&&(d=new RegExp("^(?:"+v(a.g,15)+")"),(d=b.match(d))&&null!=d[0]&&0<d[0].length&&(a.o=!0,c=d[0].length,a.b.a(b.substring(0,c))));D(a.a);a.a.a(b.substring(c));return b.substring(0,c)}
function Qb(a){var b=a.v.toString(),c=new RegExp("^(?:\\+|"+v(a.g,11)+")");return(c=b.match(c))&&null!=c[0]&&0<c[0].length?(a.o=!0,c=c[0].length,D(a.a),a.a.a(b.substring(c)),D(a.b),a.b.a(b.substring(0,c)),"+"!=b.charAt(0)&&a.b.a(" "),!0):!1}function Rb(a){if(!a.a.b.length)return!1;var b=new C,c=Eb(a.a,b);if(!c)return!1;D(a.a);a.a.a(b.toString());b=U(c);"001"==b?a.g=V(a.ga,""+c):b!=a.ia&&(a.g=Ib(a,b));a.b.a(""+c).a(" ");a.i="";return!0}
function Vb(a,b){var c=a.m.toString();if(0<=c.substring(a.s).search(a.fa)){var d=c.search(a.fa),c=c.replace(a.fa,b);D(a.m);a.m.a(c);a.s=d;return c.substring(0,a.s+1)}1==a.f.length&&(a.l=!1);a.w="";return a.j.toString()};var Zb={AC:[,[,,"9\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"AC",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"911",,,,"911"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AD:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[0268]",,,,"110"],[,,,,,,,,,[-1]],,,,"AD",,,,,,,,,,,,,,,,,,[,,"11[0268]",,,,"110"],,[,,"11[0268]",,,,"110"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,,,,,,,,[-1]]],AE:[,[,,"[149]\\d{2,3}",,,,,,,[3,4]],,,[,,"112|99[7-9]",,,,"112",,,[3]],[,,,,,,,,,[-1]],,,,"AE",,,,,,,,,,,,,,,,,,[,,"112|99[7-9]",
,,,"112",,,[3]],,[,,"112|445[16]|99[7-9]",,,,"112"],[,,,,,,,,,[-1]],[,,,,,,,,,[-1]],,[,,"445\\d",,,,"4450",,,[4]]],AF:[,[,,"[14]\\d\\d(?:\\d{2})?",,,,,,,[3,5]],,,[,,"1(?:02|19)",,,,"102",,,[3]],[,,,,,,,,,[-1]],,,,"AF",,,,,,,,,,,,,,,,,,[,,"1(?:02|19)",,,,"102",,,[3]],,[,,"1(?:02|19)|40404",,,,"102"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],AG:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"9(?:11|99)",,,,"911"],[,,,,,,,,,[-1]],,,,"AG",,,,,,,,,,,,,,,,,,[,,"9(?:11|99)",
,,,"911"],,[,,"176|9(?:11|99)",,,,"176"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],AI:[,[,,"[19]\\d\\d",,,,,,,[3]],,,[,,"911",,,,"911"],[,,,,,,,,,[-1]],,,,"AI",,,,,,,,,,,,,,,,,,[,,"911",,,,"911"],,[,,"176|911",,,,"176"],[,,,,,,,,,[-1]],[,,"176",,,,"176"],,[,,"176",,,,"176"]],AL:[,[,,"[15]\\d{2,5}",,,,,,,[3,4,5,6]],,,[,,"1(?:1(?:2|6[01]\\d\\d)|2[7-9]|3[15]|41)",,,,"112",,,[3,6]],[,,"5\\d{4}",,,,"50000",,,[5]],,,,"AL",,,,,,,,,,,,,,,,,,[,,"1(?:12|2[7-9])",,,,"112",,,[3]],,[,,"1(?:1(?:6(?:000|1(?:06|11|23))|8\\d\\d)|65\\d|89[12])|5\\d{4}|1(?:[1349]\\d|2[2-9])",
,,,"110"],[,,,,,,,,,[-1]],[,,"123",,,,"123",,,[3]],,[,,"131|5\\d{4}",,,,"131",,,[3,5]]],AM:[,[,,"[148]\\d{2,4}",,,,,,,[3,4,5]],,,[,,"10[1-3]",,,,"101",,,[3]],[,,,,,,,,,[-1]],,,,"AM",,,,,,,,,,,,,,,,,,[,,"10[1-3]",,,,"101",,,[3]],,[,,"(?:1|8[1-7])\\d\\d|40404",,,,"100"],[,,,,,,,,,[-1]],[,,"404\\d\\d",,,,"40400",,,[5]],,[,,"404\\d\\d",,,,"40400",,,[5]]],AO:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[235]",,,,"112"],[,,,,,,,,,[-1]],,,,"AO",,,,,,,,,,,,,,,,,,[,,"11[235]",,,,"112"],,[,,"11[235]",,,,"112"],[,,,,,
@ -618,10 +617,10 @@ SJ:[,[,,"1\\d\\d",,,,,,,[3]],,,[,,"11[023]",,,,"110"],[,,,,,,,,,[-1]],,,,"SJ",,,
See the License for the specific language governing permissions and
limitations under the License.
*/
function cc(){this.a={}}aa(cc);function dc(a){return(a=K[a])?a:[]}function ec(a,b,c){var d=dc(y(b,1));if(!q(d,c))return!1;a=fc(a,c);if(!a)return!1;b=gc(b).length;return q(x(v(a,1),9),b)}function hc(a,b){var c=dc(y(b,1));b=gc(b).length;for(var d=0;d<c.length;d++){var e=fc(a,c[d]);if(e&&(e=x(v(e,1),9),q(e,b)))return!0}return!1}function ic(a,b,c){var d=dc(y(b,1));if(!q(d,c))return!1;a=fc(a,c);if(!a)return!1;b=gc(b);c=v(a,1);if(!jc(b,c))return!1;a=v(a,29);return jc(b,a)}
function kc(a,b){var c=dc(y(b,1));a:if(0===c.length)var d=null;else if(1===c.length)d=c[0];else{d=gc(b);for(var e=0;e<c.length;e++){var f=c[e],g=fc(a,f);if(g&&jc(d,v(g,29))){d=f;break a}}d=null}return 1<c.length&&null!=d?!0:ic(a,b,d)}function fc(a,b){if(!b)return null;b=b.toUpperCase();var c=a.a[b];if(null==c){c=bc[b];if(null==c)return null;c=(new I).f(H.h(),c);a.a[b]=c}return c}function gc(a){if(!u(a,2))return"";var b=""+v(a,2);return u(a,4)&&v(a,4)&&0<y(a,8)?Array(y(a,8)+1).join("0")+b:b}
function jc(a,b){return 0<x(b,9).length&&!q(x(b,9),a.length)?!1:N(y(b,2),a.toString())};function lc(){var a=r("phoneNumber").value,b=r("defaultCountry").value.toUpperCase(),c=r("carrierCode").value,d=new C;try{var e=Qa.ca();if(!mb(b)&&0<a.length&&"+"!=a.charAt(0))throw Error("Invalid country calling code");var f=xb(e,a,b,!0);d.a("****Parsing Result:****\n");d.a(ka((new B(1)).g(f)));d.a("\n\n****Validation Results:****");var g=Eb(e,f);var k=0==g||4==g;d.a("\nResult from isPossibleNumber(): ");d.a(k);if(k){var m=wb(e,f);d.a("\nResult from isValidNumber(): ");d.a(m);m&&b&&"ZZ"!=b&&(d.a("\nResult from isValidNumberForRegion(): "),
d.a(Cb(e,f,b)));d.a("\nPhone Number region: ");d.a(Bb(e,f));d.a("\nResult from getNumberType(): ");var E=Bb(e,f),R=T(e,y(f,1),E);if(null==R)var tb=-1;else{var nc=Q(f);tb=Ab(nc,R)}switch(tb){case 0:d.a("FIXED_LINE");break;case 1:d.a("MOBILE");break;case 2:d.a("FIXED_LINE_OR_MOBILE");break;case 3:d.a("TOLL_FREE");break;case 4:d.a("PREMIUM_RATE");break;case 5:d.a("SHARED_COST");break;case 6:d.a("VOIP");break;case 7:d.a("PERSONAL_NUMBER");break;case 8:d.a("PAGER");break;case 9:d.a("UAN");break;case -1:d.a("UNKNOWN")}}else{d.a("\nResult from isPossibleNumberWithReason(): ");
switch(Eb(e,f)){case 1:d.a("INVALID_COUNTRY_CODE");break;case 2:d.a("TOO_SHORT");break;case 3:d.a("TOO_LONG")}d.a("\nNote: numbers that are not possible have type UNKNOWN, an unknown region, and are considered invalid.")}var ma=cc.ca();d.a("\n\n****ShortNumberInfo Results:****");d.a("\nResult from isPossibleShortNumber: ");d.a(hc(ma,f));d.a("\nResult from isValidShortNumber: ");d.a(kc(ma,f));d.a("\nResult from isPossibleShortNumberForRegion: ");d.a(ec(ma,f,b));d.a("\nResult from isValidShortNumberForRegion: ");
d.a(ic(ma,f,b));d.a("\n\n****Formatting Results:**** ");d.a("\nE164 format: ");d.a(m?P(e,f,0):"invalid");d.a("\nOriginal format: ");d.a(sb(e,f,b));d.a("\nNational format: ");d.a(P(e,f,2));d.a("\nInternational format: ");d.a(m?P(e,f,1):"invalid");d.a("\nOut-of-country format from US: ");d.a(m?qb(e,f,"US"):"invalid");d.a("\nOut-of-country format from Switzerland: ");d.a(m?qb(e,f,"CH"):"invalid");0<c.length&&(d.a("\nNational format with carrier code: "),d.a(pb(e,f,c)));d.a("\n\n****AsYouTypeFormatter Results****");
var oc=new Ib(b),pc=a.length;for(b=0;b<pc;++b){var ub=a.charAt(b);d.a("\nChar entered: ");d.a(ub);d.a(" Output: ");d.a(Rb(oc,ub))}}catch(qc){d.a("\n"+qc.toString())}r("output").value=d.toString();return!1}var X=["phoneNumberParser"],Y=this;X[0]in Y||"undefined"==typeof Y.execScript||Y.execScript("var "+X[0]);for(var Z;X.length&&(Z=X.shift());){var mc;if(mc=!X.length)mc=void 0!==lc;mc?Y[Z]=lc:Y[Z]&&Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}};})();
function $b(){this.a={}}aa($b);function ac(a){return(a=K[a])?a:[]}function bc(a,b,c){var d=ac(y(b,1));if(!q(d,c))return!1;a=cc(a,c);if(!a)return!1;b=dc(b).length;return q(x(v(a,1),9),b)}function ec(a,b){for(var c=ac(y(b,1)),d=dc(b).length,e=0;e<c.length;e++){var f=cc(a,c[e]);if(f&&(f=x(v(f,1),9),q(f,d)))return!0}return!1}function fc(a,b,c){var d=ac(y(b,1));if(!q(d,c))return!1;a=cc(a,c);if(!a)return!1;b=dc(b);c=v(a,1);if(!gc(b,c))return!1;a=v(a,29);return gc(b,a)}
function hc(a,b){var c=ac(y(b,1));a:if(c.length)if(1===c.length)var d=c[0];else{d=dc(b);for(var e=0;e<c.length;e++){var f=c[e],g=cc(a,f);if(g&&gc(d,v(g,29))){d=f;break a}}d=null}else d=null;return 1<c.length&&null!=d?!0:fc(a,b,d)}function cc(a,b){if(!b)return null;b=b.toUpperCase();var c=a.a[b];if(!c){c=Zb[b];if(!c)return null;c=(new I).f(H.h(),c);a.a[b]=c}return c}function dc(a){if(!u(a,2))return"";var b=""+v(a,2);return u(a,4)&&v(a,4)&&0<y(a,8)?Array(y(a,8)+1).join("0")+b:b}
function gc(a,b){return 0<x(b,9).length&&!q(x(b,9),a.length)?!1:N(y(b,2),a.toString())};function ic(){var a=r("phoneNumber").value,b=r("defaultCountry").value.toUpperCase(),c=r("carrierCode").value,d=new C;try{var e=Pa.ca();if(!lb(b)&&0<a.length&&"+"!=a.charAt(0))throw Error("Invalid country calling code");var f=wb(e,a,b,!0);d.a("****Parsing Result:****\n");d.a(ja((new B(1)).g(f)));d.a("\n\n****Validation Results:****");var g=Db(e,f);var k=0==g||4==g;d.a("\nResult from isPossibleNumber(): ");d.a(k);if(k){var m=vb(e,f);d.a("\nResult from isValidNumber(): ");d.a(m);m&&b&&"ZZ"!=b&&(d.a("\nResult from isValidNumberForRegion(): "),
d.a(Bb(e,f,b)));d.a("\nPhone Number region: ");d.a(Ab(e,f));d.a("\nResult from getNumberType(): ");var E=Ab(e,f),R=T(e,y(f,1),E);if(R){var kc=Q(f);var sb=zb(kc,R)}else sb=-1;switch(sb){case 0:d.a("FIXED_LINE");break;case 1:d.a("MOBILE");break;case 2:d.a("FIXED_LINE_OR_MOBILE");break;case 3:d.a("TOLL_FREE");break;case 4:d.a("PREMIUM_RATE");break;case 5:d.a("SHARED_COST");break;case 6:d.a("VOIP");break;case 7:d.a("PERSONAL_NUMBER");break;case 8:d.a("PAGER");break;case 9:d.a("UAN");break;case -1:d.a("UNKNOWN")}}else{d.a("\nResult from isPossibleNumberWithReason(): ");
switch(Db(e,f)){case 1:d.a("INVALID_COUNTRY_CODE");break;case 2:d.a("TOO_SHORT");break;case 3:d.a("TOO_LONG")}d.a("\nNote: numbers that are not possible have type UNKNOWN, an unknown region, and are considered invalid.")}var la=$b.ca();d.a("\n\n****ShortNumberInfo Results:****");d.a("\nResult from isPossibleShortNumber: ");d.a(ec(la,f));d.a("\nResult from isValidShortNumber: ");d.a(hc(la,f));d.a("\nResult from isPossibleShortNumberForRegion: ");d.a(bc(la,f,b));d.a("\nResult from isValidShortNumberForRegion: ");
d.a(fc(la,f,b));d.a("\n\n****Formatting Results:**** ");d.a("\nE164 format: ");d.a(m?P(e,f,0):"invalid");d.a("\nOriginal format: ");d.a(rb(e,f,b));d.a("\nNational format: ");d.a(P(e,f,2));d.a("\nInternational format: ");d.a(m?P(e,f,1):"invalid");d.a("\nOut-of-country format from US: ");d.a(m?pb(e,f,"US"):"invalid");d.a("\nOut-of-country format from Switzerland: ");d.a(m?pb(e,f,"CH"):"invalid");0<c.length&&(d.a("\nNational format with carrier code: "),d.a(ob(e,f,c)));d.a("\n\n****AsYouTypeFormatter Results****");
var lc=new Hb(b),mc=a.length;for(f=0;f<mc;++f){var tb=a.charAt(f);d.a("\nChar entered: ");d.a(tb);d.a(" Output: ");d.a(Ob(lc,tb))}}catch(nc){d.a("\n"+nc.toString())}r("output").value=d.toString();return!1}var X=["phoneNumberParser"],Y=this;X[0]in Y||!Y.execScript||Y.execScript("var "+X[0]);for(var Z;X.length&&(Z=X.shift());){var jc;if(jc=!X.length)jc=void 0!==ic;jc?Y[Z]=ic:Y[Z]&&Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}};})();

+ 13
- 13
javascript/i18n/phonenumbers/metadatafortesting.js View File

@ -186,9 +186,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1"]
,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["1[02-9]|[23]"]
,"0$1"]
,[,"(9)(11)(\\d{4})(\\d{4})","$2 15 $3-$4",["911"]
,[,"(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15 $3-$4",["911"]
,"0$1"]
,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$2 $3-$4",["9(?:1[02-9]|[23])"]
,[,"(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 $3-$4",["9(?:1[02-9]|[23])"]
,"0$1","0$1 $CC"]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
,"0$1"]
@ -197,9 +197,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1"]
,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["1[02-9]|[23]"]
,"0$1"]
,[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3 $4",["911"]
,[,"(\\d)(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3 $4",["911"]
]
,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3 $4",["9(?:1[02-9]|[23])"]
,[,"(\\d)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3 $4",["9(?:1[02-9]|[23])"]
]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
,"0$1"]
@ -231,7 +231,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"AU",61,"001[12]","0",,,"0",,"0011",,[[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]
,"$1"]
,[,"(\\d{1})(\\d{4})(\\d{4})","$1 $2 $3",["[2-478]"]
,[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2-478]"]
,"0$1"]
]
,,[,,,,,,,,,[-1]
@ -476,9 +476,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1"]
,[,"(\\d{2})(\\d{4,11})","$1/$2",["[34]0|[68]9"]
,"0$1"]
,[,"([4-9]\\d)(\\d{2})","$1 $2",["[4-9]","[4-6]|[7-9](?:\\d[1-9]|[1-9]\\d)"]
,[,"(\\d{2})(\\d{2})","$1 $2",["[4-9]","[4-6]|[7-9](?:\\d[1-9]|[1-9]\\d)"]
,"0$1"]
,[,"([4-9]\\d{3})(\\d{2,7})","$1 $2",["[4-9]","[4-6]|[7-9](?:\\d[1-9]|[1-9]\\d)"]
,[,"(\\d{4})(\\d{2,7})","$1 $2",["[4-9]","[4-6]|[7-9](?:\\d[1-9]|[1-9]\\d)"]
,"0$1"]
,[,"(\\d{3})(\\d{1})(\\d{6})","$1 $2 $3",["800"]
,"0$1"]
@ -752,9 +752,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"01 $1",,1]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]"]
,"01 $1",,1]
,[,"(1)(\\d{2})(\\d{4})(\\d{4})","045 $2 $3 $4",["1(?:33|55|81)"]
,[,"(\\d)(\\d{2})(\\d{4})(\\d{4})","045 $2 $3 $4",["1(?:33|55|81)"]
,"$1",,1]
,[,"(1)(\\d{3})(\\d{3})(\\d{4})","045 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"]
,[,"(\\d)(\\d{3})(\\d{3})(\\d{4})","045 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"]
,"$1",,1]
]
,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]00"]
@ -763,9 +763,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"01 $1",,1]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]"]
,"01 $1",,1]
,[,"(1)(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"]
,[,"(\\d)(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"]
]
,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"]
,[,"(\\d)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"]
]
]
,[,,,,,,,,,[-1]
@ -845,7 +845,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,[,,,,,,,,,[-1]
]
,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1"]
,"RE",262,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1"]
]
,,[,,,,,,,,,[-1]
]
@ -1004,7 +1004,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,[,,,,,,,,,[-1]
]
,"UZ",998,"810","8",,,"8",,"8~10",,[[,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"]
,"UZ",998,"810","8",,,"8",,"8~10",,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[679]"]
,"8 $1"]
]
,,[,,,,,,,,,[-1]


+ 7
- 2
javascript/i18n/phonenumbers/phonenumberutil.js View File

@ -1222,7 +1222,11 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfGeographicalAreaCode =
* significant number into NDC and subscriber number. The NDC of a phone number
* is normally the first group of digit(s) right after the country calling code
* when the number is formatted in the international format, if there is a
* subscriber number part that follows. An example of how this could be used:
* subscriber number part that follows.
*
* N.B.: similar to an area code, not all numbers have an NDC!
*
* An example of how this could be used:
*
* <pre>
* var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
@ -1250,7 +1254,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfGeographicalAreaCode =
*
* @param {i18n.phonenumbers.PhoneNumber} number the PhoneNumber object for
* which clients want to know the length of the NDC.
* @return {number} the length of NDC of the PhoneNumber object passed in.
* @return {number} the length of NDC of the PhoneNumber object passed in, which
* could be zero.
*/
i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfNationalDestinationCode =
function(number) {


+ 5
- 1
pending_code_changes.txt View File

@ -1 +1,5 @@
Code changes:
- Better documentation for getLengthOfNationalDestinationCode to emphasise that
not every number has one.
- Removed unused code in the AsYouTypeFormatter: We no longer have numbers in
formatting matching patterns, only \d.

+ 9
- 9
resources/PhoneNumberMetadataForTesting.xml View File

@ -108,12 +108,12 @@
<leadingDigits>1[02-9]|[23]</leadingDigits>
<format>$1 $2-$3</format>
</numberFormat>
<numberFormat pattern="(9)(11)(\d{4})(\d{4})">
<numberFormat pattern="(\d)(\d{2})(\d{4})(\d{4})">
<leadingDigits>911</leadingDigits>
<format>$2 15 $3-$4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
</numberFormat>
<numberFormat pattern="(9)(\d{4})(\d{2})(\d{4})"
<numberFormat pattern="(\d)(\d{4})(\d{2})(\d{4})"
carrierCodeFormattingRule="$NP$FG $CC">
<leadingDigits>9(?:1[02-9]|[23])</leadingDigits>
<format>$2 $3-$4</format>
@ -160,7 +160,7 @@
<leadingDigits>1</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{1})(\d{4})(\d{4})">
<numberFormat pattern="(\d)(\d{4})(\d{4})">
<leadingDigits>[2-478]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
@ -405,12 +405,12 @@
<!-- Extra fictional pattern for shorter numbers with the same prefixes as the following
pattern, to illustrate the problem the AYTF has with real patterns that share this
property. -->
<numberFormat pattern="([4-9]\d)(\d{2})">
<numberFormat pattern="(\d{2})(\d{2})">
<leadingDigits>[4-9]</leadingDigits>
<leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="([4-9]\d{3})(\d{2,7})">
<numberFormat pattern="(\d{4})(\d{2,7})">
<leadingDigits>[4-9]</leadingDigits>
<leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits>
<format>$1 $2</format>
@ -812,12 +812,12 @@
<leadingDigits>[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat nationalPrefixFormattingRule="$FG" pattern="(1)(\d{2})(\d{4})(\d{4})">
<numberFormat nationalPrefixFormattingRule="$FG" pattern="(\d)(\d{2})(\d{4})(\d{4})">
<leadingDigits>1(?:33|55|81)</leadingDigits>
<format>045 $2 $3 $4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
</numberFormat>
<numberFormat nationalPrefixFormattingRule="$FG" pattern="(1)(\d{3})(\d{3})(\d{4})">
<numberFormat nationalPrefixFormattingRule="$FG" pattern="(\d)(\d{3})(\d{3})(\d{4})">
<leadingDigits>1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])</leadingDigits>
<format>045 $2 $3 $4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
@ -929,7 +929,7 @@
<territory id="RE" countryCode="262" leadingDigits="262|6(?:9[23]|47)|8"
internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})">
<numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})">
<format>$1 $2 $3 $4</format>
</numberFormat>
</availableFormats>
@ -1111,7 +1111,7 @@
<territory id="UZ" countryCode="998" preferredInternationalPrefix="8~10"
internationalPrefix="810" nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG">
<availableFormats>
<numberFormat pattern="([679]\d)(\d{3})(\d{2})(\d{2})">
<numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
<leadingDigits>[679]</leadingDigits>
<format>$1 $2 $3 $4</format>
</numberFormat>


Loading…
Cancel
Save