JAVA/CPP: Release 5.2. Metadata updates and bug fixes. See release notes for more details.

git-svn-id: http://libphonenumber.googlecode.com/svn/trunk/resources@532 ee073f10-1060-11df-b6a4-87a95322a99c
diff --git a/PhoneNumberMetaData.xml b/PhoneNumberMetaData.xml
index d048a0d..fb038e2 100644
--- a/PhoneNumberMetaData.xml
+++ b/PhoneNumberMetaData.xml
@@ -679,56 +679,6 @@
       </emergency>
     </territory>
 
-    <!-- Netherlands Antilles -->
-    <!-- Note this country no longer exists. This metadata exists only to validate old Sint Maarten
-         numbers through their parallel running period (which ends Sep 2012). New number ranges
-         added to Sint Maarten during this time will be added to the new territory only and not
-         here. -->
-    <!-- The link below no longer works, since ITU deleted this document since this country no
-         longer exists. We keep it here as a record of the last place we found information on this
-         country. -->
-    <!-- http://www.itu.int/oth/T0202000097/en -->
-    <territory id="AN" countryCode="599" internationalPrefix="00">
-      <!-- Shares formatting patterns with "CW". -->
-      <generalDesc>
-        <nationalNumberPattern>5\d{6}</nationalNumberPattern>
-        <possibleNumberPattern>\d{7}</possibleNumberPattern>
-      </generalDesc>
-      <fixedLine>
-        <nationalNumberPattern>
-          5(?:
-            4[2-8]|
-            8[239]
-          )\d{4}
-        </nationalNumberPattern>
-        <exampleNumber>5451234</exampleNumber>
-      </fixedLine>
-      <mobile>
-        <!-- The code 555 was NOT migrated when the new country calling code (+1 721) was assigned
-             for Sint Maarten, so it is supported here but not there. The codes 55[12] also seem
-             to not have been migrated: although they were not explicitly mentioned in the migration
-             instructions, they are not in the new plan for SX. -->
-        <nationalNumberPattern>
-          5(?:
-            1[02]|
-            2\d|
-            5[0-79]|
-            8[016-8]
-          )\d{4}
-        </nationalNumberPattern>
-        <exampleNumber>5101234</exampleNumber>
-      </mobile>
-      <emergency>
-        <!-- http://www.rijksdienstcn.com/index.php?view=pagina&id=126&set_language=EN -->
-        <nationalNumberPattern>
-          112|
-          911
-        </nationalNumberPattern>
-        <possibleNumberPattern>\d{3}</possibleNumberPattern>
-        <exampleNumber>112</exampleNumber>
-      </emergency>
-    </territory>
-
     <!-- Angola -->
     <!-- http://www.itu.int/oth/T0202000006/en -->
     <territory id="AO" countryCode="244" internationalPrefix="00">
@@ -5353,7 +5303,7 @@
             40|
             [68]9
           </leadingDigits>
-          <format>$1/$2</format>
+          <format>$1 $2</format>
         </numberFormat>
         <!-- The order of the rules on 3-5 digits area code matter as fallback is used here. -->
         <!-- 3 digit area codes. -->
@@ -5376,7 +5326,7 @@
               [1-9]1
             )
           </leadingDigits>
-          <format>$1/$2</format>
+          <format>$1 $2</format>
         </numberFormat>
         <!-- 4 digit area codes. -->
         <numberFormat pattern="(\d{4})(\d{2,11})">
@@ -5464,12 +5414,12 @@
               )
             )
           </leadingDigits>
-          <format>$1/$2</format>
+          <format>$1 $2</format>
         </numberFormat>
         <!-- 5 digit area codes. -->
         <numberFormat pattern="(\d{5})(\d{1,10})">
           <leadingDigits>3</leadingDigits>
-          <format>$1/$2</format>
+          <format>$1 $2</format>
         </numberFormat>
         <numberFormat pattern="(1\d{2})(\d{7,8})">
           <leadingDigits>1[5-7]</leadingDigits>
@@ -8699,7 +8649,7 @@
             )|
             3(?:
               1\d|
-              2[1-5]|
+              2[1-57]|
               3[1-4]|
               [45][1-3]|
               7[1-7]|
@@ -9301,8 +9251,12 @@
          <leadingDigits>1</leadingDigits>
          <format>$1 $2 $3</format>
        </numberFormat>
-       <numberFormat pattern="(6[029])(\d{4})(\d{3})">
-         <leadingDigits>6[029]</leadingDigits>
+       <numberFormat pattern="(6[09])(\d{4})(\d{3})">
+         <leadingDigits>6[09]</leadingDigits>
+         <format>$1 $2 $3</format>
+       </numberFormat>
+       <numberFormat pattern="(62)(\d{3})(\d{3,4})">
+         <leadingDigits>62</leadingDigits>
          <format>$1 $2 $3</format>
        </numberFormat>
        <numberFormat pattern="([2-5]\d)(\d{3})(\d{3})">
@@ -9352,13 +9306,8 @@
         <possibleNumberPattern>\d{6,12}</possibleNumberPattern>
       </generalDesc>
       <fixedLine>
-        <!-- Supporting 060 (general service), 062 (universal access), 069 (children service)
-             numbers here too. -->
         <nationalNumberPattern>
-          (?:
-            1|
-            6[029]
-          )\d{7}|
+          1\d{7}|
           (?:
             2[0-3]|
             3[1-5]|
@@ -9366,9 +9315,16 @@
             5[1-3]
           )\d{6}
         </nationalNumberPattern>
-        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
         <exampleNumber>12345678</exampleNumber>
       </fixedLine>
+      <uan>
+        <!-- ITU numbering plan doesn't specify the length of the numbers with prefix 62, but there
+             are numbers on the internet with 6 or 7 digits after the prefix. -->
+        <nationalNumberPattern>62\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>62123456</exampleNumber>
+      </uan>
       <mobile>
         <nationalNumberPattern>9[1257-9]\d{6,10}</nationalNumberPattern>
         <possibleNumberPattern>\d{8,12}</possibleNumberPattern>
@@ -9380,9 +9336,15 @@
         <exampleNumber>8001234567</exampleNumber>
       </tollFree>
       <premiumRate>
-        <!-- 061 is for TeleVoting numbers - but these are charged at similar rates to premium rate
-             so we include them here. -->
-        <nationalNumberPattern>6[145]\d{4,7}</nationalNumberPattern>
+        <!-- The prefixes 060, 061, 064, 065 and 069 are named as premium rate numbers by
+             http://www.vipnet.hr/en/poslovni-korisnici/telefon-internet/vip-adsl-usluga#panel_4.
+             -->
+        <nationalNumberPattern>
+          6(?:
+            [09]\d{7}|
+            [145]\d{4,7}
+          )
+        </nationalNumberPattern>
         <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
         <exampleNumber>611234</exampleNumber>
       </premiumRate>
@@ -18212,21 +18174,21 @@
       <generalDesc>
         <nationalNumberPattern>
           (?:
-            2[3-6]|
+            2[2-6]|
             5|
-            9[2-9]
+            9[1-9]
           )\d{6}|
           800\d{5,6}
         </nationalNumberPattern>
         <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
       </generalDesc>
       <fixedLine>
-        <nationalNumberPattern>2[3-6]\d{6}</nationalNumberPattern>
+        <nationalNumberPattern>2[2-6]\d{6}</nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>23123456</exampleNumber>
       </fixedLine>
       <mobile>
-        <nationalNumberPattern>9[2-9]\d{6}</nationalNumberPattern>
+        <nationalNumberPattern>9[1-9]\d{6}</nationalNumberPattern>
         <possibleNumberPattern>\d{8}</possibleNumberPattern>
         <exampleNumber>92123456</exampleNumber>
       </mobile>
@@ -20281,12 +20243,12 @@
       <!-- A single group is used to format 5-digit numbers. -->
       <availableFormats>
         <numberFormat pattern="(\d{3})(\d{4})">
-          <leadingDigits>[78]</leadingDigits>
+          <leadingDigits>[7-9]</leadingDigits>
           <format>$1 $2</format>
         </numberFormat>
       </availableFormats>
       <generalDesc>
-        <nationalNumberPattern>[1-8]\d{4,6}</nationalNumberPattern>
+        <nationalNumberPattern>[1-9]\d{4,6}</nationalNumberPattern>
         <possibleNumberPattern>\d{5,7}</possibleNumberPattern>
       </generalDesc>
       <fixedLine>
@@ -20308,11 +20270,18 @@
         <nationalNumberPattern>
           48\d{3}|
           7(?:
-            4\d|
-            5[025-8]|
-            6[0-6]
+            [46-8]\d|
+            5[025-9]|
+            90
           )\d{4}|
-          8[4-8]\d{5}
+          8[4-8]\d{5}|
+          9(?:
+            [46]\d|
+            5[0-46-9]|
+            7[0-689]|
+            8[0-79]|
+            9[0-8]
+          )\d{4}
         </nationalNumberPattern>
         <exampleNumber>7421234</exampleNumber>
       </mobile>
@@ -24645,9 +24614,9 @@
         <exampleNumber>801234567</exampleNumber>
       </tollFree>
       <premiumRate>
-        <nationalNumberPattern>86[1-9]\d{6}</nationalNumberPattern>
+        <nationalNumberPattern>86[2-9]\d{6}</nationalNumberPattern>
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
-        <exampleNumber>861234567</exampleNumber>
+        <exampleNumber>862345678</exampleNumber>
       </premiumRate>
       <sharedCost>
         <nationalNumberPattern>860\d{6}</nationalNumberPattern>
@@ -24659,6 +24628,13 @@
         <possibleNumberPattern>\d{9}</possibleNumberPattern>
         <exampleNumber>871234567</exampleNumber>
       </voip>
+      <uan>
+        <!-- MaxiCall numbers cost as much as national long distance, so they are classified as UAN
+             numbers. -->
+        <nationalNumberPattern>861\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>861123456</exampleNumber>
+      </uan>
       <emergency>
         <nationalNumberPattern>
           1(?:
diff --git a/PhoneNumberMetaDataForTesting.xml b/PhoneNumberMetaDataForTesting.xml
index 73440cf..87c9d00 100644
--- a/PhoneNumberMetaDataForTesting.xml
+++ b/PhoneNumberMetaDataForTesting.xml
@@ -800,7 +800,7 @@
     </territory>
 
     <!-- International Toll Free numbers  -->
-    <territory id="001" countryCode="800">
+    <territory id="001" countryCode="800" leadingZeroPossible="true">
       <availableFormats>
         <numberFormat pattern="(\d{4})(\d{4})">
           <format>$1 $2</format>
diff --git a/geocoding/el/30.txt b/geocoding/el/30.txt
index 49311ae..cd34c4d 100644
--- a/geocoding/el/30.txt
+++ b/geocoding/el/30.txt
@@ -14,6 +14,8 @@
 
 # Generated from:
 # http://el.wikipedia.org/wiki/Τηλεφωνικοί_κωδικοί_της_Ελλάδας [2667046]
+# Prefixes 302736 and 302893 were translated from the English equivalent
+# wikipedia page.
 
 3021|Αθήνα/Πειραιάς/Σαλαμίνα
 302221|Χαλκίδα
@@ -79,8 +81,8 @@
 302322|Νιγρίτα
 302323|Σιδηρόκαστρο
 302324|Νέα Ζίχνη
-3023250|Ηράκλεια
-302327|Ροδόπολη Σερρών
+302325|Ηράκλεια, Σερρών
+302327|Ροδόπολη, Σερρών
 302331|Βέροια
 302332|Νάουσα
 302333|Αλεξάνδρεια
@@ -132,7 +134,7 @@
 302465|Σιάτιστα
 302467|Καστοριά
 302468|Νεάπολη
-3024910|Φάρσαλα
+302491|Φάρσαλα
 302492|Τύρναβος
 302493|Ελασσόνα
 302494|Αγιά
@@ -214,6 +216,7 @@
 302733|Γύθειο
 302734|Νεάπολη
 302735|Σκάλα
+302736|Κύθηρα
 302741|Κόρινθος
 302742|Κιάτο
 302743|Ξυλόκαστρο
@@ -250,7 +253,7 @@
 302844|Τζερμιάδο
 302891|Αρκαλοχώρι
 302892|Μοίρες, Ηράκλειο
-302893|Πύργος, Μονοφάτσι
+302893|Πύργος, Κρήτη
 302894|Αγία Βαρβάρα, Ηράκλειο Κρήτης
 302895|Άνω Βιάννος
 302897|Λιμένας Χερσονήσου
diff --git a/geocoding/en/30.txt b/geocoding/en/30.txt
index 9460426..7c43b34 100644
--- a/geocoding/en/30.txt
+++ b/geocoding/en/30.txt
@@ -12,48 +12,53 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Translated from el/30.txt using Freebase and Wikipedia.
+# Translated from el/30.txt using Freebase and Wikipedia, with names that
+# couldn't be auto-translated filled in from
+# http://en.wikipedia.org/wiki/Telephone_numbers_in_Greece. For small places,
+# the surrounding province, muncipality or island was included if the wikipedia
+# page had that as part of the title, or if the Greek numbering plan from ITU
+# added that to its description.
 
 3021|Athens/Piraeus/Salamina
 302221|Chalcis
-302222|
+302222|Kymi
 302223|Aliveri
 302224|Karystos
-302226|
-302227|
-302228|
+302226|Aidipsos
+302227|Kireas
+302228|Messapia
 302229|Eretria
 302231|Lamia
 302232|Domokos
-302233|
+302233|Atalanta
 302234|Amfikleia
-302235|
+302235|Kamena Vourla
 302236|Makrakomi
 302237|Karpenisi
 302238|Stylida
 302241|Rhodes
 302242|Kos
 302243|Kalymnos
-302244|
+302244|Archangelos, Rhodes
 302245|Karpathos
-302246|
+302246|Salakos, Rhodes
 302247|Leros
 302251|Mytilene
 302252|Agiasos/Plomari
-302253|
-302254|
+302253|Kalloni, Lesbos
+302254|Agios Efstratios
 302261|Livadeia
-302262|
+302262|Thebes
 302263|Vilia
-302264|
+302264|Thisvi
 302265|Amfissa
-302266|
+302266|Lidoriki
 302267|Distomo
-302268|
+302268|Aliartos
 302271|Chios
 302272|Kardamyla
 302273|Samos
-302274|
+302274|Psara, Chios
 302275|Agios Kirykos
 302281|Ano Syros
 302282|Andros
@@ -65,45 +70,45 @@
 302288|Kea
 302289|Mykonos
 302291|Lagonisi
-302292|
-302293|
+302292|Lavrio
+302293|Agia Sotira
 302294|Rafina
-302295|
-302296|
+302295|Afidnes
+302296|Megara
 302297|Aegina
-302298|
-302299|
+302298|Troezen/Poros/Hydra/Spetses
+302299|Markopoulo Mesogaias
 30231|Thessaloniki
 302321|Serres
 302322|Nigrita
-302323|
-302324|
-3023250|
-302327|
+302323|Sidirokastro
+302324|Nea Zichni
+302325|Irakleia, Serres
+302327|Rodopoli
 302331|Veria
-302332|
-302333|
-302341|
+302332|Naousa, Imathia
+302333|Alexandria
+302341|Kilkis
 302343|Polykastro
 302351|Korinos
 302352|Litochoro
 302353|Aiginio
 302371|Polygyros
 302372|Arnaia
-302373|
+302373|Nea Moudania
 302374|Kassandreia
-302375|
+302375|Nikiti
 302376|Stratoni
-302377|
-302381|
+302377|Ierissos/Mount Athos
+302381|Edessa
 302382|Giannitsa
 302384|Aridaia
-302385|
+302385|Florina
 302386|Amyntaio
-302391|
+302391|Chalkidona
 302392|Peraia, Thessaloniki
 302393|Lagkadikia
-302394|
+302394|Lagkadas
 302395|Sochos
 302396|Vasilika
 302397|Asprovalta
@@ -111,30 +116,30 @@
 30241|Larissa
 302421|Volos
 302422|Almyros
-302423|
-302424|
+302423|Kala Nera
+302424|Skopelos
 302425|Feres, Magnesia
 302426|Zagora
 302427|Skiathos
 302431|Trikala
 302432|Kalabaka
-302433|
-302434|
+302433|Farkadona
+302434|Pyli
 302441|Karditsa
 302443|Sofades
-302444|
+302444|Palamas
 302445|Mouzaki
 302461|Kozani
 302462|Grevena
 302463|Ptolemaida
-302464|
+302464|Servia
 302465|Siatista
-302467|
-302468|
-3024910|Farsala
+302467|Kastoria
+302468|Neapoli
+302491|Farsala
 302492|Tyrnavos
 302493|Elassona
-302494|
+302494|Agia
 302495|Gonnoi/Makrychori
 30251|Kavala
 302521|Drama
@@ -143,49 +148,49 @@
 302524|Paranesti
 302531|Komotini
 302532|Sapes
-302533|
-302534|
-302535|
+302533|Xylagani
+302534|Iasmos
+302535|Nea Kallisti
 302541|Xanthi
-302542|
-302544|
+302542|Stavroupoli
+302544|Echinos
 302551|Alexandroupoli
 302552|Orestiada
 302553|Didymoteicho
 302554|Soufli
 302555|Feres, Evros
-302556|
+302556|Kyprinos
 302591|Chrysoupoli
 302592|Eleftheroupoli
 302593|Thasos
-302594|
+302594|Nea Peramos, Kavala
 30261|Patras
 302621|Burgas
 302622|Amaliada
 302623|Lechaina
-302624|
+302624|Olympia
 302625|Krestena
 302626|Andritsaina
 302631|Messolonghi
 302632|Aitoliko
-302634|
+302634|Nafpaktos
 302635|Mataranga
 302641|Agrinio
 302642|Amfilochia
 302643|Vonitsa
-302644|
+302644|Thermo
 302645|Lefkada
-302647|
+302647|Fyteies
 302651|Ioannina
-302653|
-302655|
+302653|Asprangeli
+302655|Konitsa
 302656|Metsovo
 302657|Delvinaki
 302658|Zitsa
-302659|
+302659|Kalentzi
 302661|Corfu
-302662|
-302663|
+302662|Lefkimmi
+302663|Corfu Island
 302664|Filiates
 302665|Igoumenitsa
 302666|Paramythia
@@ -194,34 +199,35 @@
 302681|Arta
 302682|Preveza
 302683|Filippiada
-302684|
-302685|
+302684|Kanalaki
+302685|Athamania
 302691|Aigio
 302692|Kalavryta
 302693|Kato Achaia
-302694|
+302694|Chalandritsa
 302695|Zakynthos
 302696|Akrata
 30271|Tripoli
 302721|Kalamata
-302722|
+302722|Messene
 302723|Pylos
 302724|Meligalas
-302725|
+302725|Koroni
 302731|Sparti
 302732|Molaoi
 302733|Gytheio
-302734|
-302735|
-302741|
+302734|Neapoli, Voies
+302735|Molaoi
+302736|Kythera
+302741|Corinth
 302742|Kiato
 302743|Xylokastro
 302744|Loutraki
 302746|Nemea
-302747|
-302751|
+302747|Stymfalia
+302751|Argos
 302752|Nafplio
-302753|
+302753|Lygourio
 302754|Kranidi
 302755|Astros
 302757|Leonidio
@@ -229,10 +235,10 @@
 302763|Gargalianoi
 302765|Kopanaki
 302791|Megalopolis
-302792|
+302792|Kastri Kynourias
 302795|Vytina
 302796|Levidi
-302797|
+302797|Tropaia
 30281|Heraklion
 302821|Chania
 302822|Kissamos
@@ -240,16 +246,16 @@
 302824|Kolymvari
 302825|Vamos
 302831|Rethymno
-302832|
-302833|
-302834|
+302832|Spyli
+302833|Amari, Rethymno
+302834|Perama Mylopotamou
 302841|Agios Nikolaos
 302842|Ierapetra
 302843|Sitia
-302844|
+302844|Tzermadio
 302891|Arkalochori
 302892|Moires, Heraklion
-302893|Pyrgos, Tinos
-302894|
-302895|
-302897|
+302893|Pyrgos, Crete
+302894|Agia Varvara
+302895|Ano Viannos
+302897|Limenas Chersonisou