The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# automatically generated file, don't edit



# Copyright 2011 David Cantrell, derived from data from libphonenumber
# http://code.google.com/p/libphonenumber/
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
package Number::Phone::StubCountry::MY;
use base qw(Number::Phone::StubCountry);

use strict;
use warnings;
use utf8;
our $VERSION = 1.20180203200235;

my $formatters = [
                {
                  'national_rule' => '0$1',
                  'format' => '$1-$2 $3',
                  'pattern' => '([4-79])(\\d{3})(\\d{4})',
                  'leading_digits' => '[4-79]'
                },
                {
                  'national_rule' => '0$1',
                  'pattern' => '(3)(\\d{4})(\\d{4})',
                  'leading_digits' => '3',
                  'format' => '$1-$2 $3'
                },
                {
                  'format' => '$1-$2 $3',
                  'leading_digits' => '
            1[02-46-9][1-9]|
            8
          ',
                  'pattern' => '([18]\\d)(\\d{3})(\\d{3,4})',
                  'national_rule' => '0$1'
                },
                {
                  'pattern' => '(1)([36-8]00)(\\d{2})(\\d{4})',
                  'leading_digits' => '1[36-8]00',
                  'format' => '$1-$2-$3-$4'
                },
                {
                  'national_rule' => '0$1',
                  'leading_digits' => '11',
                  'pattern' => '(11)(\\d{4})(\\d{4})',
                  'format' => '$1-$2 $3'
                },
                {
                  'leading_digits' => '15[49]',
                  'pattern' => '(15[49])(\\d{3})(\\d{4})',
                  'format' => '$1-$2 $3',
                  'national_rule' => '0$1'
                }
              ];

my $validators = {
                'voip' => '
          154(?:
            6(?:
              0\\d|
              1[0-3]
            )|
            8(?:
              [25]1|
              4[0189]|
              7[0-4679]
            )
          )\\d{4}
        ',
                'pager' => '',
                'geographic' => '
          (?:
            3(?:
              2(?:
                0(?:
                  11|
                  2[0-8]|
                  3[0-24-79]|
                  [579]\\d|
                  8[0-57-9]
                )|
                1(?:
                  0[6-9]|
                  1[03-9]|
                  [467]\\d|
                  8[0-2]|
                  9[13]
                )|
                2(?:
                  0[1-3]|
                  2[2-4]|
                  4[0-25-7]|
                  6[0-8]|
                  7[02-689]|
                  8\\d|
                  9[5-9]
                )|
                3(?:
                  0[0-3]|
                  3[0-36]|
                  8[0-35-9]|
                  9[1-3]
                )|
                6(?:
                  0[0-5]|
                  [139]\\d|
                  8[15-8]
                )|
                7(?:
                  1\\d|
                  2[0-7]|
                  3[0-3]|
                  42|
                  7[0-356]|
                  8[0-35-8]
                )|
                8(?:
                  00|
                  4[78]|
                  5[6-9]
                )|
                93[58]
              )|
              3(?:
                0(?:
                  0[0-35-9]|
                  10|
                  5[01]|
                  8[0-6]|
                  9[39]
                )|
                1(?:
                  0[1-39]|
                  10|
                  2[02-469]|
                  3[245]|
                  4[0-3589]|
                  6[0-35-9]|
                  7[067]|
                  8[0-57]|
                  9[0-278]
                )|
                2(?:
                  1[3467]|
                  2[45]|
                  4[1-3]|
                  5[0689]|
                  6[04589]|
                  7[0-3579]|
                  8[0-489]|
                  9[0-27]
                )|
                3(?:
                  1[7-9]|
                  2[1-6]|
                  4[1-689]|
                  5[89]|
                  6[1-3]|
                  7\\d|
                  8[125]|
                  9[236]
                )|
                6(?:
                  [12]0|
                  3[01]|
                  5[0-256]|
                  6[08]|
                  8[45]
                )
              )|
              4(?:
                0(?:
                  09|
                  [14]\\d|
                  2[0-8]|
                  3[12]|
                  5[01]|
                  65
                )|
                1(?:
                  0[0-8]|
                  31|
                  4\\d|
                  6[12]
                )|
                2(?:
                  17|
                  5[0-35-9]|
                  6[024-6]|
                  7[0189]|
                  8[057-9]|
                  9\\d
                )|
                770|
                8(?:
                  0[0-2]|
                  1[0-3569]|
                  2[01]
                )
              )|
              5(?:
                0(?:
                  2[0-2]|
                  3[0-35-9]
                )|
                1(?:
                  0[1-3]|
                  1[05]|
                  2[0-6]|
                  31|
                  6[1-7]|
                  9[1258]
                )|
                270|
                48[0-5]|
                5(?:
                  1\\d|
                  2[0-6]|
                  4[0-589]|
                  6[125-9]|
                  9[01]
                )|
                6(?:
                  1[1-4]|
                  2[0-589]|
                  3\\d|
                  5[0-3]
                )|
                7(?:
                  21|
                  40
                )|
                8(?:
                  7[06-9]|
                  8[025-9]|
                  9[12]
                )
              )|
              6(?:
                0(?:
                  2[0-28]|
                  3[24-9]|
                  4[246-9]|
                  5[57]|
                  6[13-6]|
                  7[358]|
                  8[1247]|
                  9[0-59]
                )|
                1(?:
                  [04][0-58]|
                  15|
                  2[02-8]|
                  3[015-9]|
                  5[016-8]|
                  7[7-9]|
                  8[14-9]|
                  9[1-356]
                )|
                2(?:
                  [05]\\d|
                  11|
                  [46][1-3]|
                  7[02-79]|
                  8[015-7]
                )|
                303|
                4(?:
                  1[129]|
                  2[01]|
                  3[36]|
                  6[0-2]
                )|
                690|
                7(?:
                  3\\d|
                  89
                )
              )|
              7(?:
                118|
                2(?:
                  0[02]|
                  6[01]
                )|
                4(?:
                  [59]\\d|
                  8[01]
                )|
                6(?:
                  1[01]|
                  2\\d|
                  5[0-2]|
                  6[0-69]
                )|
                7(?:
                  1[0-37-9]|
                  [28]\\d|
                  3[1-5]|
                  7[0-3]
                )|
                8(?:
                  [04]\\d|
                  3[129]|
                  59|
                  6[1-356]|
                  7[02-79]|
                  8[02-7]|
                  90
                )|
                9(?:
                  10|
                  3[1-3]|
                  4[016-9]|
                  [56]\\d|
                  7[12]|
                  8\\d
                )
              )|
              8(?:
                0(?:
                  0[08]|
                  11|
                  2[0-7]|
                  5[12]|
                  6\\d|
                  7[013-69]|
                  8[0-24]|
                  9[0-5]
                )|
                100|
                21[0-36]|
                3(?:
                  08|
                  1\\d|
                  2[0-589]|
                  31
                )|
                408|
                5(?:
                  2[0-35-79]|
                  88
                )|
                6(?:
                  0[0-259]|
                  5[5-79]|
                  6[01]|
                  8[46-9]|
                  9[019]
                )|
                7(?:
                  0[35-8]|
                  2[3-7]|
                  3\\d|
                  4[0149]|
                  5[0-2]|
                  6[016-9]|
                  7[5-9]|
                  8[037]|
                  90
                )|
                8(?:
                  00|
                  61|
                  7[0-3]|
                  8\\d|
                  9[0-4]
                )|
                9(?:
                  1[1-3]|
                  [2-5]\\d|
                  6[1-4689]|
                  8[89]|
                  9[0-689]
                )
              )|
              9(?:
                0(?:
                  1[0-289]|
                  2[15]|
                  5[014-9]|
                  7[04-68]|
                  8[0-256]
                )|
                1(?:
                  0[0-356]|
                  3[0-49]|
                  4[015]|
                  7[0-59]|
                  9[15]
                )|
                2(?:
                  0[0-25-7]|
                  12|
                  2[1-6]|
                  3[1256]|
                  7[14]|
                  8\\d
                )|
                3[68]8|
                41[01]|
                5(?:
                  14|
                  2[01]|
                  4[03-9]|
                  6[5-79]|
                  7[0-2569]
                )
              )
            )\\d|
            4(?:
              2(?:
                0[01]|
                1[07-9]|
                2[02-46-9]|
                38|
                4[0-28]|
                5[0-589]|
                6[0-47-9]|
                8[0-389]|
                9[0-38]
              )\\d|
              3(?:
                0[5-9]|
                [12][034]|
                3[0-37]|
                47|
                5[168]|
                6[7-9]|
                7[0135-8]|
                8\\d|
                9[0-27-9]
              )\\d|
              4(?:
                [02-9]\\d{2}|
                1(?:
                  [02-9]\\d|
                  10
                )
              )|
              5(?:
                [07]\\d{2}|
                1[0-358]\\d|
                2[1246]\\d|
                3[06-9]\\d|
                4[0589]\\d|
                5[12457-9]\\d|
                6[0-689]\\d|
                8(?:
                  [0-57-9]\\d|
                  60
                )|
                9(?:
                  [2-57-9]\\d|
                  60
                )
              )|
              6(?:
                0[79]|
                1[0-689]|
                2[0135-9]|
                [3-5]\\d|
                6[07-9]|
                7[23]|
                8[03-9]|
                99
              )\\d|
              7(?:
                0[0-59]\\d|
                1[04679]\\d|
                2(?:
                  [02-9]\\d|
                  10
                )|
                [37]\\d{2}|
                4(?:
                  [0178]\\d|
                  5[0-6]
                )|
                5(?:
                  [0-57-9]\\d|
                  60
                )|
                6[024-689]\\d|
                8[0-79]\\d|
                9(?:
                  [0479]\\d|
                  3[01]
                )
              )|
              8(?:
                1[0189]\\d|
                2[046-9]\\d|
                3[058]\\d|
                5[029]\\d|
                6(?:
                  [0689]\\d|
                  40
                )|
                8[14568]\\d|
                9[0-389]\\d
              )|
              9(?:
                0[1368]\\d|
                1[13-9]\\d|
                [27]\\d{2}|
                3(?:
                  [0-368]\\d|
                  7[0-3]
                )|
                4[013-79]\\d|
                5[0-35689]\\d|
                6[0-46-9]\\d|
                8[0-24-9]\\d|
                97\\d
              )
            )|
            5(?:
              2(?:
                0[13589]\\d|
                1[0-2]\\d|
                2[056]\\d|
                3(?:
                  [067]\\d|
                  2[01]
                )|
                4[0-69]\\d|
                5[3-6]\\d|
                8[0-25-9]\\d|
                9[0-469]\\d
              )|
              3(?:
                [12][0-38]|
                3[0-37]|
                4[89]|
                5[01346-9]|
                [67]\\d|
                8[01589]|
                95
              )\\d|
              4(?:
                0[1346]\\d|
                1[02-35-9]\\d|
                2[1379]\\d|
                3[0-46-9]\\d|
                4[013689]\\d|
                [59]\\d{2}|
                6(?:
                  [15-9]\\d|
                  20
                )|
                7[036-9]\\d|
                8[015-8]\\d
              )|
              5(?:
                0[167]\\d|
                17\\d|
                2[025-9]\\d|
                3[035-7]\\d|
                4[0-35-9]\\d|
                8[13]\\d|
                9(?:
                  [124-9]\\d|
                  31
                )
              )|
              6(?:
                0[89]\\d|
                1[02-46-8]\\d|
                2[0-69]\\d|
                3(?:
                  [1-367]\\d|
                  40
                )|
                4[0-689]\\d|
                5(?:
                  [0-24-9]\\d|
                  30
                )|
                6[1457-9]\\d|
                7\\d{2}|
                8[0-57-9]\\d|
                9[0-389]\\d
              )|
              7(?:
                1(?:
                  [024679]\\d|
                  80
                )|
                2[0-35-8]\\d|
                3[23]\\d|
                4[34]\\d|
                5[0-36-9]\\d|
                6[356-9]\\d|
                7\\d{2}|
                8(?:
                  [23]\\d|
                  [01]1
                )|
                9(?:
                  [1-689]\\d|
                  70
                )
              )|
              8(?:
                0[145-9]\\d|
                1[0-2]\\d|
                2[09]\\d|
                3(?:
                  [058]\\d|
                  0[017]
                )|
                4[016-9]\\d|
                5[02-9]\\d|
                7(?:
                  10|
                  2\\d
                )|
                8[013589]\\d|
                9[0-57-9]\\d
              )|
              9[23]0\\d
            )|
            6(?:
              2(?:
                2[1246-9]\\d|
                3[0-5]\\d|
                4[02]\\d|
                5[1-3]\\d|
                [68]\\d{2}|
                7(?:
                  [04-8]\\d|
                  10
                )|
                9[2-5]\\d
              )|
              3(?:
                1(?:
                  [125-9]\\d|
                  3[01]
                )|
                3[0-7]\\d|
                5[0-478]\\d|
                79\\d|
                8[3-578]\\d|
                9[018]\\d
              )|
              4(?:
                1[015]|
                [2-689]\\d|
                7[1-79]
              )\\d|
              5(?:
                09\\d|
                1(?:
                  10|
                  [2479]\\d
                )|
                2[1-579]\\d|
                3(?:
                  [0-467]\\d|
                  50
                )|
                4[0-24-9]\\d|
                5\\d{2}|
                60\\d
              )|
              6(?:
                0[13]\\d|
                1[0-57]\\d|
                2[03]\\d|
                3[0-478]\\d|
                4[0-8]\\d|
                5[013-689]\\d|
                6[0-467]\\d|
                [78]\\d{2}|
                9(?:
                  [13-9]\\d|
                  20
                )
              )|
              7(?:
                01|
                2[06-9]|
                3[367]|
                5[7-9]|
                6\\d|
                7[0156]|
                8[12]|
                9[0-47-9]
              )\\d|
              85[0-26]\\d|
              9(?:
                0[167]|
                10|
                [57]\\d|
                6[02-9]|
                8[013-9]
              )\\d
            )|
            7(?:
              2(?:
                0[7-9]|
                1[016-9]|
                2[0-8]|
                [39]\\d|
                4[014]|
                5[0-79]|
                6[125-8]|
                7[1246-9]|
                8[37-9]
              )\\d|
              3(?:
                0[0-5]|
                [35]\\d|
                40|
                5[0-478]|
                6[0-5]|
                8[0-26-8]
              )\\d|
              4(?:
                0[07-9]|
                [1-35]\\d|
                6[7-9]|
                7[57]|
                8[1-68]
              )\\d|
              5(?:
                0[04-9]|
                1[0-68]|
                2[0-378]|
                3[0-3]|
                5\\d|
                6[0-2]|
                7[018]|
                8[5-7]|
                9[05-9]
              )\\d|
              6(?:
                5[0-24-9]|
                6[0-3568]|
                7[0457-9]|
                8[02-9]|
                9\\d
              )\\d|
              7(?:
                0[25-8]\\d|
                1(?:
                  [01]\\d|
                  20
                )|
                2[0-2]\\d|
                3[489]\\d|
                [457-9]\\d{2}|
                6(?:
                  [0-8]\\d|
                  90
                )
              )|
              8(?:
                01[01]|
                10\\d|
                [289]\\d{2}|
                3(?:
                  [028]\\d|
                  10
                )|
                50\\d|
                6[0-357-9]\\d|
                7(?:
                  [0235-9]\\d|
                  [14]0
                )
              )|
              9(?:
                0(?:
                  [0246-8]\\d|
                  10
                )|
                [1-4]\\d{2}|
                50\\d|
                6[014589]\\d|
                [7-9]0\\d
              )
            )|
            8(?:
              2(?:
                2(?:
                  [013-5]\\d|
                  [28][0-8]|
                  6[01]|
                  7[0-589]|
                  9[0-49]
                )|
                3(?:
                  [02][0-689]|
                  1[1-59]|
                  [3-7]\\d|
                  8[0-389]|
                  9[13]
                )|
                4(?:
                  0[1-3]|
                  [1-8]\\d|
                  9[1-359]
                )|
                5(?:
                  0[1-7]|
                  [17]\\d|
                  20|
                  3[0-26-9]|
                  4[1-9]|
                  5[0-35]|
                  8[0-689]|
                  9[02367]
                )|
                6(?:
                  [147]\\d|
                  2[0-25-9]|
                  39|
                  5[014-9]|
                  6[1-9]|
                  8[1-8]|
                  9[089]
                )|
                7(?:
                  0[017-9]|
                  1[1-356]|
                  20|
                  3[01457-9]|
                  4[15]|
                  5[0-25]|
                  6[0-6]|
                  70|
                  8[0-2]|
                  9[01378]
                )|
                8(?:
                  0[3-57-9]|
                  [15]0|
                  2[124-9]|
                  3[01]|
                  4[02-6]|
                  6[02-578]|
                  7\\d|
                  8[25-8]|
                  9[04-689]
                )
              )|
              3(?:
                220|
                3(?:
                  0[089]|
                  10|
                  2[0-7]|
                  3[7-9]|
                  4[0-48]
                )|
                4(?:
                  0[68]|
                  1[0-478]|
                  2[5-79]|
                  3[024-9]|
                  50|
                  6\\d|
                  7[0-57]|
                  8[05]|
                  96
                )|
                5(?:
                  4[4578]|
                  55|
                  6[2-9]|
                  70|
                  8[459]|
                  92
                )
              )|
              4(?:
                2(?:
                  [15]\\d|
                  2[0-489]|
                  3[124-9]
                )|
                3(?:
                  0[1-8]|
                  [1-4]\\d|
                  5[0-3]|
                  6[1-7]|
                  7[56]|
                  8[0-4]|
                  9[1-578]
                )|
                4(?:
                  05|
                  80
                )|
                555|
                6(?:
                  1[0-3]|
                  20|
                  3[1-4]|
                  4[0-24-7]|
                  5\\d|
                  6[0-2]|
                  71|
                  8[0-47-9]|
                  9[0-689]
                )|
                7(
                  02|
                  1[79]|
                  21|
                  3[0-2468]|
                  5[0-5]|
                  6[0256]|
                  7[0-8]|
                  8[01589]|
                  9[026-9]
                )|
                8(?:
                  0[1-9]|
                  1[0-3568]|
                  2[0138]|
                  3[0-4]|
                  4[046-9]|
                  5[06]|
                  6\\d|
                  7[0-579]|
                  80|
                  9[0-8]
                )
              )|
              5(?:
                2(?:
                  0[0-26]|
                  1\\d|
                  2[0-5]|
                  3[18]|
                  4[0-2]|
                  6[3-68]|
                  70|
                  8[025-9]|
                  9[05-9]
                )|
                3(?:
                  10|
                  2\\d|
                  31|
                  95
                )|
                4(?:
                  0[1-7]|
                  [1-4]\\d|
                  5[02-6]|
                  6[0-3]|
                  7[0-245]|
                  8[125]|
                  9[1-6]
                )|
                5(?:
                  40|
                  55
                )|
                6(?:
                  0[1459]|
                  1[0-8]|
                  2[0-36-8]|
                  3[0-35-8]|
                  [45]\\d|
                  6[0-8]|
                  80
                )|
                7(?:
                  1[07-9]|
                  20|
                  3[3-9]|
                  4[02-4]|
                  5[05689]|
                  6[015-9]|
                  7\\d|
                  8[045]|
                  9[0-6]
                )
              )|
              6(?:
                2(?:
                  01|
                  3[12]|
                  5[1-7]|
                  60|
                  8[1-6]|
                  9[0-8]
                )|
                3(?:
                  0[0137]|
                  [134]\\d|
                  2[0-8]|
                  [59][01]|
                  60|
                  [78]1
                )|
                4(?:
                  2[2-4]|
                  49|
                  5[17]|
                  6\\d|
                  7[0-46-9]|
                  8[0-689]
                )|
                5(?:
                  0[6-8]|
                  55|
                  8[0149]|
                  90
                )|
                8(?:
                  5\\d|
                  [68]0
                )|
                9(?:
                  5[12]|
                  81
                )
              )|
              7(?:
                2(?:
                  0[189]|
                  [12][1-9]|
                  3[0-47]|
                  50
                )|
                3(?:
                  [01][1-9]|
                  3\\d|
                  4[0-245]|
                  6[4-9]|
                  7[237-9]|
                  9[12]
                )|
                4(?:
                  [0-2]\\d|
                  3[167-9]|
                  [45][0-3]|
                  6[0-8]|
                  7[25-9]|
                  8[0-6]|
                  90
                )|
                5(?:
                  0[1-9]|
                  [89]\\d
                )|
                7(?:
                  1[89]|
                  [27]\\d|
                  3[013-9]|
                  4[0-8]|
                  50|
                  6[01568]|
                  82
                )|
                8(?:
                  [03][1-3]|
                  1[0-28]|
                  2[0-38]|
                  48|
                  5[0-4]|
                  6[1-3]|
                  7[124]|
                  8[013-57-9]|
                  9[07]
                )
              )|
              8(?:
                2(?:
                  0[13-7]|
                  [1-9]\\d
                )|
                3(?:
                  0[1-47-9]|
                  [128]\\d|
                  3[0-4]|
                  4[1-9]|
                  5[0-35-7]|
                  6[0-46-9]|
                  9[3-7]
                )|
                4(?:
                  0[1-58]|
                  1[1-5]|
                  [2-57-9]\\d|
                  69
                )|
                5(?:
                  1[1-35-9]|
                  2\\d|
                  3[2-8]|
                  52
                )|
                6(?:
                  0[2-9]|
                  1[1-8]|
                  [23]\\d|
                  41|
                  5[12367]|
                  6[1-9]|
                  7[14-9]|
                  8[02-8]|
                  9[05]
                )|
                7(?:
                  0[1-589]|
                  [1-35-8]\\d|
                  4[0-7]|
                  9[0-46-9]
                )|
                8(?:
                  01|
                  30|
                  5[0-48]|
                  6[13]|
                  7\\d|
                  8[013-689]|
                  9[24-9]
                )|
                9(?:
                  0[2-4689]|
                  1\\d|
                  2[08]|
                  3[18]|
                  4[03]|
                  59|
                  6[0-36-9]|
                  7[0-35-79]|
                  8[1235]
                )
              )|
              9(?:
                2(?:
                  [057][1-9]|
                  [1-3]\\d|
                  4[0-8]|
                  6[1-5]|
                  8[015-9]|
                  9[04-6]
                )|
                300|
                4(?:
                  01|
                  36|
                  6[1-6]|
                  [89][12]
                )|
                5(?:
                  0[25689]|
                  1\\d|
                  2[0134]|
                  3[1-8]|
                  5[17]|
                  6[0-35-9]|
                  7[0-7]|
                  91
                )|
                6(?:
                  1[1-9]|
                  2[23]|
                  3[0-4]|
                  6[03-9]|
                  7[0-7]
                )|
                7(?:
                  0[1-68]|
                  1[1-8]|
                  2[25-9]|
                  3[056]|
                  4[4-9]|
                  [5-8]\\d|
                  9[0-46-9]
                )|
                8(?:
                  0[1-7]|
                  [189]\\d|
                  2[1-46]|
                  4[1-689]|
                  5[0-79]|
                  6[1-9]|
                  71
                )|
                9(?:
                  0[1-3]|
                  1\\d|
                  2[0-35-7]|
                  3[67]|
                  4[12]|
                  5[0-249]|
                  6[5-9]|
                  75|
                  8[1-6]
                )
              )
            )|
            9(?:
              2(?:
                0[458]\\d|
                1[2-57]\\d|
                2[0-589]\\d|
                [39]\\d{2}|
                4(?:
                  [02-9]\\d|
                  10
                )|
                5(?:
                  [024-6]\\d|
                  [7-9]0
                )|
                6(?:
                  [03-9]\\d|
                  20
                )|
                7[0-26-9]\\d|
                8(?:
                  [0-24-68]\\d|
                  7[01]
                )
              )|
              3(?:
                0[0-2689]\\d|
                1(?:
                  [0235]\\d|
                  1[0-2]|
                  4[01]
                )|
                2(?:
                  0[01]|
                  [1-57-9]\\d|
                  6[0-2]
                )|
                3(?:
                  00|
                  1[0-4]|
                  2\\d
                )|
                4[05]\\d|
                5[0-3568]\\d|
                6(?:
                  [1-357-9]\\d|
                  60
                )|
                [78]0\\d
              )|
              4(?:
                0[24578]\\d|
                1[02-57-9]\\d|
                2\\d{2}|
                3(?:
                  [0278]\\d|
                  1[01]|
                  60
                )|
                4[013579]\\d|
                5[0-8]\\d|
                6[0678]\\d|
                7[013-9]\\d|
                8[01569]\\d
              )|
              5(
                0(?:
                  [589]\\d|
                  7[01]
                )|
                1\\d{2}|
                2[0159]\\d|
                3[14689]\\d|
                4[0-46-9]\\d|
                5[0-35-9]\\d|
                6[0156-8]\\d|
                7[0-35]\\d|
                8[0-7]\\d|
                9[0-3589]\\d
              )|
              6(?:
                0[269]\\d|
                [12]\\d{2}|
                3[0-57-9]\\d|
                44[0-2]|
                5[01379]\\d|
                6[02-9]\\d|
                7[69]\\d|
                8(?:
                  [0-24-8]\\d|
                  30
                )|
                9(?:
                  [0-24-9]\\d|
                  3[01]
                )
              )|
              7(?:
                0[0136-8]|
                1[02-4]|
                2[156]|
                3[258]|
                [489]\\d|
                5[0-589]|
                6[024-9]|
                7[0-689]
              )\\d|
              8(?:
                0(?:
                  0[01]|
                  1\\d
                )|
                1[3-9]\\d|
                [23]\\d{2}|
                4[0-24-689]\\d|
                5[0-689]\\d|
                6[02-9]\\d|
                7(?:
                  [01]0|
                  [2-4]\\d
                )|
                888
              )|
              9(?:
                00\\d|
                1[2-57-9]\\d|
                2(?:
                  00|
                  1[01]|
                  [238]\\d
                )|
                3(?:
                  [2-467]\\d|
                  50
                )|
                4[4-9]\\d|
                5(?:
                  [0-2457-9]\\d|
                  60
                )|
                6[0156]\\d|
                7[04-9]\\d|
                8[01]\\d
              )
            )
          )\\d{3}
        ',
                'fixed_line' => '
          (?:
            3(?:
              2(?:
                0(?:
                  11|
                  2[0-8]|
                  3[0-24-79]|
                  [579]\\d|
                  8[0-57-9]
                )|
                1(?:
                  0[6-9]|
                  1[03-9]|
                  [467]\\d|
                  8[0-2]|
                  9[13]
                )|
                2(?:
                  0[1-3]|
                  2[2-4]|
                  4[0-25-7]|
                  6[0-8]|
                  7[02-689]|
                  8\\d|
                  9[5-9]
                )|
                3(?:
                  0[0-3]|
                  3[0-36]|
                  8[0-35-9]|
                  9[1-3]
                )|
                6(?:
                  0[0-5]|
                  [139]\\d|
                  8[15-8]
                )|
                7(?:
                  1\\d|
                  2[0-7]|
                  3[0-3]|
                  42|
                  7[0-356]|
                  8[0-35-8]
                )|
                8(?:
                  00|
                  4[78]|
                  5[6-9]
                )|
                93[58]
              )|
              3(?:
                0(?:
                  0[0-35-9]|
                  10|
                  5[01]|
                  8[0-6]|
                  9[39]
                )|
                1(?:
                  0[1-39]|
                  10|
                  2[02-469]|
                  3[245]|
                  4[0-3589]|
                  6[0-35-9]|
                  7[067]|
                  8[0-57]|
                  9[0-278]
                )|
                2(?:
                  1[3467]|
                  2[45]|
                  4[1-3]|
                  5[0689]|
                  6[04589]|
                  7[0-3579]|
                  8[0-489]|
                  9[0-27]
                )|
                3(?:
                  1[7-9]|
                  2[1-6]|
                  4[1-689]|
                  5[89]|
                  6[1-3]|
                  7\\d|
                  8[125]|
                  9[236]
                )|
                6(?:
                  [12]0|
                  3[01]|
                  5[0-256]|
                  6[08]|
                  8[45]
                )
              )|
              4(?:
                0(?:
                  09|
                  [14]\\d|
                  2[0-8]|
                  3[12]|
                  5[01]|
                  65
                )|
                1(?:
                  0[0-8]|
                  31|
                  4\\d|
                  6[12]
                )|
                2(?:
                  17|
                  5[0-35-9]|
                  6[024-6]|
                  7[0189]|
                  8[057-9]|
                  9\\d
                )|
                770|
                8(?:
                  0[0-2]|
                  1[0-3569]|
                  2[01]
                )
              )|
              5(?:
                0(?:
                  2[0-2]|
                  3[0-35-9]
                )|
                1(?:
                  0[1-3]|
                  1[05]|
                  2[0-6]|
                  31|
                  6[1-7]|
                  9[1258]
                )|
                270|
                48[0-5]|
                5(?:
                  1\\d|
                  2[0-6]|
                  4[0-589]|
                  6[125-9]|
                  9[01]
                )|
                6(?:
                  1[1-4]|
                  2[0-589]|
                  3\\d|
                  5[0-3]
                )|
                7(?:
                  21|
                  40
                )|
                8(?:
                  7[06-9]|
                  8[025-9]|
                  9[12]
                )
              )|
              6(?:
                0(?:
                  2[0-28]|
                  3[24-9]|
                  4[246-9]|
                  5[57]|
                  6[13-6]|
                  7[358]|
                  8[1247]|
                  9[0-59]
                )|
                1(?:
                  [04][0-58]|
                  15|
                  2[02-8]|
                  3[015-9]|
                  5[016-8]|
                  7[7-9]|
                  8[14-9]|
                  9[1-356]
                )|
                2(?:
                  [05]\\d|
                  11|
                  [46][1-3]|
                  7[02-79]|
                  8[015-7]
                )|
                303|
                4(?:
                  1[129]|
                  2[01]|
                  3[36]|
                  6[0-2]
                )|
                690|
                7(?:
                  3\\d|
                  89
                )
              )|
              7(?:
                118|
                2(?:
                  0[02]|
                  6[01]
                )|
                4(?:
                  [59]\\d|
                  8[01]
                )|
                6(?:
                  1[01]|
                  2\\d|
                  5[0-2]|
                  6[0-69]
                )|
                7(?:
                  1[0-37-9]|
                  [28]\\d|
                  3[1-5]|
                  7[0-3]
                )|
                8(?:
                  [04]\\d|
                  3[129]|
                  59|
                  6[1-356]|
                  7[02-79]|
                  8[02-7]|
                  90
                )|
                9(?:
                  10|
                  3[1-3]|
                  4[016-9]|
                  [56]\\d|
                  7[12]|
                  8\\d
                )
              )|
              8(?:
                0(?:
                  0[08]|
                  11|
                  2[0-7]|
                  5[12]|
                  6\\d|
                  7[013-69]|
                  8[0-24]|
                  9[0-5]
                )|
                100|
                21[0-36]|
                3(?:
                  08|
                  1\\d|
                  2[0-589]|
                  31
                )|
                408|
                5(?:
                  2[0-35-79]|
                  88
                )|
                6(?:
                  0[0-259]|
                  5[5-79]|
                  6[01]|
                  8[46-9]|
                  9[019]
                )|
                7(?:
                  0[35-8]|
                  2[3-7]|
                  3\\d|
                  4[0149]|
                  5[0-2]|
                  6[016-9]|
                  7[5-9]|
                  8[037]|
                  90
                )|
                8(?:
                  00|
                  61|
                  7[0-3]|
                  8\\d|
                  9[0-4]
                )|
                9(?:
                  1[1-3]|
                  [2-5]\\d|
                  6[1-4689]|
                  8[89]|
                  9[0-689]
                )
              )|
              9(?:
                0(?:
                  1[0-289]|
                  2[15]|
                  5[014-9]|
                  7[04-68]|
                  8[0-256]
                )|
                1(?:
                  0[0-356]|
                  3[0-49]|
                  4[015]|
                  7[0-59]|
                  9[15]
                )|
                2(?:
                  0[0-25-7]|
                  12|
                  2[1-6]|
                  3[1256]|
                  7[14]|
                  8\\d
                )|
                3[68]8|
                41[01]|
                5(?:
                  14|
                  2[01]|
                  4[03-9]|
                  6[5-79]|
                  7[0-2569]
                )
              )
            )\\d|
            4(?:
              2(?:
                0[01]|
                1[07-9]|
                2[02-46-9]|
                38|
                4[0-28]|
                5[0-589]|
                6[0-47-9]|
                8[0-389]|
                9[0-38]
              )\\d|
              3(?:
                0[5-9]|
                [12][034]|
                3[0-37]|
                47|
                5[168]|
                6[7-9]|
                7[0135-8]|
                8\\d|
                9[0-27-9]
              )\\d|
              4(?:
                [02-9]\\d{2}|
                1(?:
                  [02-9]\\d|
                  10
                )
              )|
              5(?:
                [07]\\d{2}|
                1[0-358]\\d|
                2[1246]\\d|
                3[06-9]\\d|
                4[0589]\\d|
                5[12457-9]\\d|
                6[0-689]\\d|
                8(?:
                  [0-57-9]\\d|
                  60
                )|
                9(?:
                  [2-57-9]\\d|
                  60
                )
              )|
              6(?:
                0[79]|
                1[0-689]|
                2[0135-9]|
                [3-5]\\d|
                6[07-9]|
                7[23]|
                8[03-9]|
                99
              )\\d|
              7(?:
                0[0-59]\\d|
                1[04679]\\d|
                2(?:
                  [02-9]\\d|
                  10
                )|
                [37]\\d{2}|
                4(?:
                  [0178]\\d|
                  5[0-6]
                )|
                5(?:
                  [0-57-9]\\d|
                  60
                )|
                6[024-689]\\d|
                8[0-79]\\d|
                9(?:
                  [0479]\\d|
                  3[01]
                )
              )|
              8(?:
                1[0189]\\d|
                2[046-9]\\d|
                3[058]\\d|
                5[029]\\d|
                6(?:
                  [0689]\\d|
                  40
                )|
                8[14568]\\d|
                9[0-389]\\d
              )|
              9(?:
                0[1368]\\d|
                1[13-9]\\d|
                [27]\\d{2}|
                3(?:
                  [0-368]\\d|
                  7[0-3]
                )|
                4[013-79]\\d|
                5[0-35689]\\d|
                6[0-46-9]\\d|
                8[0-24-9]\\d|
                97\\d
              )
            )|
            5(?:
              2(?:
                0[13589]\\d|
                1[0-2]\\d|
                2[056]\\d|
                3(?:
                  [067]\\d|
                  2[01]
                )|
                4[0-69]\\d|
                5[3-6]\\d|
                8[0-25-9]\\d|
                9[0-469]\\d
              )|
              3(?:
                [12][0-38]|
                3[0-37]|
                4[89]|
                5[01346-9]|
                [67]\\d|
                8[01589]|
                95
              )\\d|
              4(?:
                0[1346]\\d|
                1[02-35-9]\\d|
                2[1379]\\d|
                3[0-46-9]\\d|
                4[013689]\\d|
                [59]\\d{2}|
                6(?:
                  [15-9]\\d|
                  20
                )|
                7[036-9]\\d|
                8[015-8]\\d
              )|
              5(?:
                0[167]\\d|
                17\\d|
                2[025-9]\\d|
                3[035-7]\\d|
                4[0-35-9]\\d|
                8[13]\\d|
                9(?:
                  [124-9]\\d|
                  31
                )
              )|
              6(?:
                0[89]\\d|
                1[02-46-8]\\d|
                2[0-69]\\d|
                3(?:
                  [1-367]\\d|
                  40
                )|
                4[0-689]\\d|
                5(?:
                  [0-24-9]\\d|
                  30
                )|
                6[1457-9]\\d|
                7\\d{2}|
                8[0-57-9]\\d|
                9[0-389]\\d
              )|
              7(?:
                1(?:
                  [024679]\\d|
                  80
                )|
                2[0-35-8]\\d|
                3[23]\\d|
                4[34]\\d|
                5[0-36-9]\\d|
                6[356-9]\\d|
                7\\d{2}|
                8(?:
                  [23]\\d|
                  [01]1
                )|
                9(?:
                  [1-689]\\d|
                  70
                )
              )|
              8(?:
                0[145-9]\\d|
                1[0-2]\\d|
                2[09]\\d|
                3(?:
                  [058]\\d|
                  0[017]
                )|
                4[016-9]\\d|
                5[02-9]\\d|
                7(?:
                  10|
                  2\\d
                )|
                8[013589]\\d|
                9[0-57-9]\\d
              )|
              9[23]0\\d
            )|
            6(?:
              2(?:
                2[1246-9]\\d|
                3[0-5]\\d|
                4[02]\\d|
                5[1-3]\\d|
                [68]\\d{2}|
                7(?:
                  [04-8]\\d|
                  10
                )|
                9[2-5]\\d
              )|
              3(?:
                1(?:
                  [125-9]\\d|
                  3[01]
                )|
                3[0-7]\\d|
                5[0-478]\\d|
                79\\d|
                8[3-578]\\d|
                9[018]\\d
              )|
              4(?:
                1[015]|
                [2-689]\\d|
                7[1-79]
              )\\d|
              5(?:
                09\\d|
                1(?:
                  10|
                  [2479]\\d
                )|
                2[1-579]\\d|
                3(?:
                  [0-467]\\d|
                  50
                )|
                4[0-24-9]\\d|
                5\\d{2}|
                60\\d
              )|
              6(?:
                0[13]\\d|
                1[0-57]\\d|
                2[03]\\d|
                3[0-478]\\d|
                4[0-8]\\d|
                5[013-689]\\d|
                6[0-467]\\d|
                [78]\\d{2}|
                9(?:
                  [13-9]\\d|
                  20
                )
              )|
              7(?:
                01|
                2[06-9]|
                3[367]|
                5[7-9]|
                6\\d|
                7[0156]|
                8[12]|
                9[0-47-9]
              )\\d|
              85[0-26]\\d|
              9(?:
                0[167]|
                10|
                [57]\\d|
                6[02-9]|
                8[013-9]
              )\\d
            )|
            7(?:
              2(?:
                0[7-9]|
                1[016-9]|
                2[0-8]|
                [39]\\d|
                4[014]|
                5[0-79]|
                6[125-8]|
                7[1246-9]|
                8[37-9]
              )\\d|
              3(?:
                0[0-5]|
                [35]\\d|
                40|
                5[0-478]|
                6[0-5]|
                8[0-26-8]
              )\\d|
              4(?:
                0[07-9]|
                [1-35]\\d|
                6[7-9]|
                7[57]|
                8[1-68]
              )\\d|
              5(?:
                0[04-9]|
                1[0-68]|
                2[0-378]|
                3[0-3]|
                5\\d|
                6[0-2]|
                7[018]|
                8[5-7]|
                9[05-9]
              )\\d|
              6(?:
                5[0-24-9]|
                6[0-3568]|
                7[0457-9]|
                8[02-9]|
                9\\d
              )\\d|
              7(?:
                0[25-8]\\d|
                1(?:
                  [01]\\d|
                  20
                )|
                2[0-2]\\d|
                3[489]\\d|
                [457-9]\\d{2}|
                6(?:
                  [0-8]\\d|
                  90
                )
              )|
              8(?:
                01[01]|
                10\\d|
                [289]\\d{2}|
                3(?:
                  [028]\\d|
                  10
                )|
                50\\d|
                6[0-357-9]\\d|
                7(?:
                  [0235-9]\\d|
                  [14]0
                )
              )|
              9(?:
                0(?:
                  [0246-8]\\d|
                  10
                )|
                [1-4]\\d{2}|
                50\\d|
                6[014589]\\d|
                [7-9]0\\d
              )
            )|
            8(?:
              2(?:
                2(?:
                  [013-5]\\d|
                  [28][0-8]|
                  6[01]|
                  7[0-589]|
                  9[0-49]
                )|
                3(?:
                  [02][0-689]|
                  1[1-59]|
                  [3-7]\\d|
                  8[0-389]|
                  9[13]
                )|
                4(?:
                  0[1-3]|
                  [1-8]\\d|
                  9[1-359]
                )|
                5(?:
                  0[1-7]|
                  [17]\\d|
                  20|
                  3[0-26-9]|
                  4[1-9]|
                  5[0-35]|
                  8[0-689]|
                  9[02367]
                )|
                6(?:
                  [147]\\d|
                  2[0-25-9]|
                  39|
                  5[014-9]|
                  6[1-9]|
                  8[1-8]|
                  9[089]
                )|
                7(?:
                  0[017-9]|
                  1[1-356]|
                  20|
                  3[01457-9]|
                  4[15]|
                  5[0-25]|
                  6[0-6]|
                  70|
                  8[0-2]|
                  9[01378]
                )|
                8(?:
                  0[3-57-9]|
                  [15]0|
                  2[124-9]|
                  3[01]|
                  4[02-6]|
                  6[02-578]|
                  7\\d|
                  8[25-8]|
                  9[04-689]
                )
              )|
              3(?:
                220|
                3(?:
                  0[089]|
                  10|
                  2[0-7]|
                  3[7-9]|
                  4[0-48]
                )|
                4(?:
                  0[68]|
                  1[0-478]|
                  2[5-79]|
                  3[024-9]|
                  50|
                  6\\d|
                  7[0-57]|
                  8[05]|
                  96
                )|
                5(?:
                  4[4578]|
                  55|
                  6[2-9]|
                  70|
                  8[459]|
                  92
                )
              )|
              4(?:
                2(?:
                  [15]\\d|
                  2[0-489]|
                  3[124-9]
                )|
                3(?:
                  0[1-8]|
                  [1-4]\\d|
                  5[0-3]|
                  6[1-7]|
                  7[56]|
                  8[0-4]|
                  9[1-578]
                )|
                4(?:
                  05|
                  80
                )|
                555|
                6(?:
                  1[0-3]|
                  20|
                  3[1-4]|
                  4[0-24-7]|
                  5\\d|
                  6[0-2]|
                  71|
                  8[0-47-9]|
                  9[0-689]
                )|
                7(
                  02|
                  1[79]|
                  21|
                  3[0-2468]|
                  5[0-5]|
                  6[0256]|
                  7[0-8]|
                  8[01589]|
                  9[026-9]
                )|
                8(?:
                  0[1-9]|
                  1[0-3568]|
                  2[0138]|
                  3[0-4]|
                  4[046-9]|
                  5[06]|
                  6\\d|
                  7[0-579]|
                  80|
                  9[0-8]
                )
              )|
              5(?:
                2(?:
                  0[0-26]|
                  1\\d|
                  2[0-5]|
                  3[18]|
                  4[0-2]|
                  6[3-68]|
                  70|
                  8[025-9]|
                  9[05-9]
                )|
                3(?:
                  10|
                  2\\d|
                  31|
                  95
                )|
                4(?:
                  0[1-7]|
                  [1-4]\\d|
                  5[02-6]|
                  6[0-3]|
                  7[0-245]|
                  8[125]|
                  9[1-6]
                )|
                5(?:
                  40|
                  55
                )|
                6(?:
                  0[1459]|
                  1[0-8]|
                  2[0-36-8]|
                  3[0-35-8]|
                  [45]\\d|
                  6[0-8]|
                  80
                )|
                7(?:
                  1[07-9]|
                  20|
                  3[3-9]|
                  4[02-4]|
                  5[05689]|
                  6[015-9]|
                  7\\d|
                  8[045]|
                  9[0-6]
                )
              )|
              6(?:
                2(?:
                  01|
                  3[12]|
                  5[1-7]|
                  60|
                  8[1-6]|
                  9[0-8]
                )|
                3(?:
                  0[0137]|
                  [134]\\d|
                  2[0-8]|
                  [59][01]|
                  60|
                  [78]1
                )|
                4(?:
                  2[2-4]|
                  49|
                  5[17]|
                  6\\d|
                  7[0-46-9]|
                  8[0-689]
                )|
                5(?:
                  0[6-8]|
                  55|
                  8[0149]|
                  90
                )|
                8(?:
                  5\\d|
                  [68]0
                )|
                9(?:
                  5[12]|
                  81
                )
              )|
              7(?:
                2(?:
                  0[189]|
                  [12][1-9]|
                  3[0-47]|
                  50
                )|
                3(?:
                  [01][1-9]|
                  3\\d|
                  4[0-245]|
                  6[4-9]|
                  7[237-9]|
                  9[12]
                )|
                4(?:
                  [0-2]\\d|
                  3[167-9]|
                  [45][0-3]|
                  6[0-8]|
                  7[25-9]|
                  8[0-6]|
                  90
                )|
                5(?:
                  0[1-9]|
                  [89]\\d
                )|
                7(?:
                  1[89]|
                  [27]\\d|
                  3[013-9]|
                  4[0-8]|
                  50|
                  6[01568]|
                  82
                )|
                8(?:
                  [03][1-3]|
                  1[0-28]|
                  2[0-38]|
                  48|
                  5[0-4]|
                  6[1-3]|
                  7[124]|
                  8[013-57-9]|
                  9[07]
                )
              )|
              8(?:
                2(?:
                  0[13-7]|
                  [1-9]\\d
                )|
                3(?:
                  0[1-47-9]|
                  [128]\\d|
                  3[0-4]|
                  4[1-9]|
                  5[0-35-7]|
                  6[0-46-9]|
                  9[3-7]
                )|
                4(?:
                  0[1-58]|
                  1[1-5]|
                  [2-57-9]\\d|
                  69
                )|
                5(?:
                  1[1-35-9]|
                  2\\d|
                  3[2-8]|
                  52
                )|
                6(?:
                  0[2-9]|
                  1[1-8]|
                  [23]\\d|
                  41|
                  5[12367]|
                  6[1-9]|
                  7[14-9]|
                  8[02-8]|
                  9[05]
                )|
                7(?:
                  0[1-589]|
                  [1-35-8]\\d|
                  4[0-7]|
                  9[0-46-9]
                )|
                8(?:
                  01|
                  30|
                  5[0-48]|
                  6[13]|
                  7\\d|
                  8[013-689]|
                  9[24-9]
                )|
                9(?:
                  0[2-4689]|
                  1\\d|
                  2[08]|
                  3[18]|
                  4[03]|
                  59|
                  6[0-36-9]|
                  7[0-35-79]|
                  8[1235]
                )
              )|
              9(?:
                2(?:
                  [057][1-9]|
                  [1-3]\\d|
                  4[0-8]|
                  6[1-5]|
                  8[015-9]|
                  9[04-6]
                )|
                300|
                4(?:
                  01|
                  36|
                  6[1-6]|
                  [89][12]
                )|
                5(?:
                  0[25689]|
                  1\\d|
                  2[0134]|
                  3[1-8]|
                  5[17]|
                  6[0-35-9]|
                  7[0-7]|
                  91
                )|
                6(?:
                  1[1-9]|
                  2[23]|
                  3[0-4]|
                  6[03-9]|
                  7[0-7]
                )|
                7(?:
                  0[1-68]|
                  1[1-8]|
                  2[25-9]|
                  3[056]|
                  4[4-9]|
                  [5-8]\\d|
                  9[0-46-9]
                )|
                8(?:
                  0[1-7]|
                  [189]\\d|
                  2[1-46]|
                  4[1-689]|
                  5[0-79]|
                  6[1-9]|
                  71
                )|
                9(?:
                  0[1-3]|
                  1\\d|
                  2[0-35-7]|
                  3[67]|
                  4[12]|
                  5[0-249]|
                  6[5-9]|
                  75|
                  8[1-6]
                )
              )
            )|
            9(?:
              2(?:
                0[458]\\d|
                1[2-57]\\d|
                2[0-589]\\d|
                [39]\\d{2}|
                4(?:
                  [02-9]\\d|
                  10
                )|
                5(?:
                  [024-6]\\d|
                  [7-9]0
                )|
                6(?:
                  [03-9]\\d|
                  20
                )|
                7[0-26-9]\\d|
                8(?:
                  [0-24-68]\\d|
                  7[01]
                )
              )|
              3(?:
                0[0-2689]\\d|
                1(?:
                  [0235]\\d|
                  1[0-2]|
                  4[01]
                )|
                2(?:
                  0[01]|
                  [1-57-9]\\d|
                  6[0-2]
                )|
                3(?:
                  00|
                  1[0-4]|
                  2\\d
                )|
                4[05]\\d|
                5[0-3568]\\d|
                6(?:
                  [1-357-9]\\d|
                  60
                )|
                [78]0\\d
              )|
              4(?:
                0[24578]\\d|
                1[02-57-9]\\d|
                2\\d{2}|
                3(?:
                  [0278]\\d|
                  1[01]|
                  60
                )|
                4[013579]\\d|
                5[0-8]\\d|
                6[0678]\\d|
                7[013-9]\\d|
                8[01569]\\d
              )|
              5(
                0(?:
                  [589]\\d|
                  7[01]
                )|
                1\\d{2}|
                2[0159]\\d|
                3[14689]\\d|
                4[0-46-9]\\d|
                5[0-35-9]\\d|
                6[0156-8]\\d|
                7[0-35]\\d|
                8[0-7]\\d|
                9[0-3589]\\d
              )|
              6(?:
                0[269]\\d|
                [12]\\d{2}|
                3[0-57-9]\\d|
                44[0-2]|
                5[01379]\\d|
                6[02-9]\\d|
                7[69]\\d|
                8(?:
                  [0-24-8]\\d|
                  30
                )|
                9(?:
                  [0-24-9]\\d|
                  3[01]
                )
              )|
              7(?:
                0[0136-8]|
                1[02-4]|
                2[156]|
                3[258]|
                [489]\\d|
                5[0-589]|
                6[024-9]|
                7[0-689]
              )\\d|
              8(?:
                0(?:
                  0[01]|
                  1\\d
                )|
                1[3-9]\\d|
                [23]\\d{2}|
                4[0-24-689]\\d|
                5[0-689]\\d|
                6[02-9]\\d|
                7(?:
                  [01]0|
                  [2-4]\\d
                )|
                888
              )|
              9(?:
                00\\d|
                1[2-57-9]\\d|
                2(?:
                  00|
                  1[01]|
                  [238]\\d
                )|
                3(?:
                  [2-467]\\d|
                  50
                )|
                4[4-9]\\d|
                5(?:
                  [0-2457-9]\\d|
                  60
                )|
                6[0156]\\d|
                7[04-9]\\d|
                8[01]\\d
              )
            )
          )\\d{3}
        ',
                'specialrate' => '(1600\\d{6})',
                'toll_free' => '1[378]00\\d{6}',
                'mobile' => '
          1(?:
            0(?:
              [23568]\\d|
              4[0-6]|
              7[016-9]|
              9[0-8]
            )\\d|
            1(?:
              [1-5]\\d{2}|
              6(?:
                0[5-9]|
                [1-9]\\d
              )
            )\\d|
            [23679][2-9]\\d{2}|
            4(?:
              [235-9]\\d{2}|
              400
            )|
            59\\d{3}|
            8(?:
              1[23]\\d|
              [236]\\d{2}|
              4(?:
                [06]\\d|
                7[0-4]
              )|
              5[7-9]\\d|
              7[016-9]\\d|
              8(?:
                [01]\\d|
                [27][0-4]
              )|
              9[0-8]\\d
            )
          )\\d{4}
        ',
                'personal_number' => ''
              };

    sub new {
      my $class = shift;
      my $number = shift;
      $number =~ s/(^\+60|\D)//g;
      my $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class);
  
      return $self if ($self->is_valid());
      {
        no warnings 'uninitialized';
        $number =~ s/^(?:0)//;
      }
      $self = bless({ number => $number, formatters => $formatters, validators => $validators, }, $class);
    return $self->is_valid() ? $self : undef;
}
1;